문제
다음 [성적] 테이블에서 SQL문을 실행했을 때, 학생명이 '정수민'인 행의 순위 값을 쓰시오.
| 학생명 | 과목 | 점수 |
|---|---|---|
| 김영수 | 수학 | 85 |
| 정수민 | 수학 | 92 |
| 이지현 | 수학 | 92 |
| 박태호 | 수학 | 78 |
| 최민정 | 수학 | 95 |
SQLSELECT 학생명, DENSE_RANK() OVER (ORDER BY 점수 DESC) AS 순위 FROM 성적 WHERE 과목 = '수학';
정답
2
2
해설
DENSE_RANK() 윈도우 함수는 동순위가 있어도 다음 순위를 건너뛰지 않습니다. 점수 내림차순 정렬 시: 최민정(95점)=1위, 정수민과 이지현(92점)=공동2위, 김영수(85점)=3위, 박태호(78점)=4위가 됩니다. 따라서 정수민의 순위는 2입니다.