SQLD(SQL 개발자) 기출 · 윈도우 함수
다음 중 RANK, DENSE_RANK, ROW_NUMBER 결과로 가장 적절한 것은? 

본문)
SELECT NO,
RANK() OVER(ORDER BY JUMSU DESC) AS RANK1,
DENSE_RANK() OVER(ORDER BY JUMSU DESC) AS RANK2,
ROW_NUMBER() OVER(ORDER BY JUMSU DESC) AS RANK3
FROM STUDENT; 이 문제 풀어보기
정답 및 해설 보기
정답: 3번
RANK는 동점일 경우 같은 등수로 표시하고 다음 순위는 동점인 순위의 수만큼 밀리므로 12245가 출력되지만 DENSE_RANK는 동점일 경우 동순위를 부여 뒤, 다음 순위가 바로 이어지므로 12234가 리턴된다. ROW_NUMER는 동점일 경우를 인정하지 않고 순서대로 나열하므로 12345가 최종 출력된다.