문제
다음 [성적] 테이블에서 SQL문을 실행했을 때, 학생이 '박민수'인 행의 순위 값을 쓰시오.
| 학생 | 과목 | 점수 |
|---|---|---|
| 홍길동 | 수학 | 85 |
| 박민수 | 수학 | 92 |
| 김영희 | 수학 | 92 |
| 이철호 | 수학 | 78 |
SQLSELECT 학생, RANK() OVER (ORDER BY 점수 DESC) AS 순위 FROM 성적;
정답
1
1
해설
RANK() 함수는 점수를 내림차순으로 정렬했을 때의 순위를 매깁니다. 박민수(92점)와 김영희(92점)가 공동 1위이므로 박민수의 순위는 1입니다. 동점자가 있을 때 RANK()는 같은 순위를 부여하고, 다음 순위는 건너뜁니다.