문제
다음 [매출] 테이블에서 SQL문을 실행했을 때, 지역이 '서울'이고 월이 2인 행의 pct 값을 쓰시오. (소수점 셋째 자리에서 반올림하여 둘째 자리까지)
| 지역 | 월 | 금액 |
|---|---|---|
| 서울 | 1 | 100 |
| 서울 | 2 | 150 |
| 서울 | 3 | 200 |
| 부산 | 1 | 80 |
| 부산 | 2 | 120 |
SQLSELECT 지역, 월, PERCENT_RANK() OVER (ORDER BY 금액) AS pct FROM 매출;
정답
0.75
0.750.75075%
해설
PERCENT_RANK() 함수는 (현재 행의 순위 - 1) / (전체 행 수 - 1) 공식을 사용하여 백분율 순위를 계산합니다.
1단계: ORDER BY 금액으로 정렬
- 부산 1월: 80 (1순위)
- 서울 1월: 100 (2순위)
- 부산 2월: 120 (3순위)
- 서울 2월: 150 (4순위)
- 서울 3월: 200 (5순위)
2단계: 서울 2월(금액 150)의 PERCENT_RANK 계산
- 현재 행의 순위: 4
- 전체 행 수: 5
- PERCENT_RANK = (4-1)/(5-1) = 3/4 = 0.75
3단계: 반올림
- 0.75를 소수점 셋째 자리에서 반올림하여 둘째 자리까지 표현하면 0.75
따라서 답은 0.75입니다.