문제
다음 [성적] 테이블에서 SQL문을 실행했을 때, 이름이 '홍길동'인 행의 순위 값을 쓰시오.
| 이름 | 과목 | 점수 |
|---|---|---|
| 홍길동 | 수학 | 85 |
| 김철수 | 수학 | 90 |
| 이영희 | 영어 | 85 |
| 박민수 | 과학 | 95 |
SQLSELECT 이름, ROW_NUMBER() OVER (ORDER BY 점수 DESC) AS 순위 FROM 성적;
정답
3
3
해설
ROW_NUMBER() 윈도우 함수는 동점자가 있어도 연속된 순번을 부여합니다. 점수 기준 내림차순 정렬 시: 박민수(95점)=1, 김철수(90점)=2, 홍길동(85점)=3, 이영희(85점)=4가 됩니다. 따라서 홍길동의 순위는 3입니다.