정보처리기사 실기SQLSQL - 윈도우 함수난이도 5SHORT_ANSWER

정보처리기사 실기 SQL - 윈도우 함수 기출문제 #213

문제

다음 [주문] 테이블에서 SQL문을 실행했을 때, 고객ID가 'C002'이고 금액이 15000인 행의 pct_rank 값을 소수점 둘째 자리까지 쓰시오.

고객ID주문일금액
C0012023-01-1512000
C0022023-01-2015000
C0022023-02-1018000
C0012023-02-1515000
C0032023-03-0120000
SQL
SELECT 고객ID, 금액, PERCENT_RANK() OVER (ORDER BY 금액) AS pct_rank FROM 주문;

정답

0.25

0.25

해설

PERCENT_RANK()는 (RANK-1)/(총행수-1)로 계산된다. 금액 순으로 정렬하면 12000(1위), 15000(2위, 동점), 15000(2위, 동점), 18000(4위), 20000(5위)가 된다. 고객ID 'C002'이고 금액이 15000인 행의 RANK는 2이므로 PERCENT_RANK = (2-1)/(5-1) = 1/4 = 0.25이다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.