문제
SAL 값을 기준으로 상위 3순위까지 조회하되, 동일 순위의 여러 행을 모두 포함하려고 한다. 가장 적절한 분석 함수는?
① ROW_NUMBER ② DENSE_RANK ③ COUNT ④ NTILE
정답
2번
해설
정답: 2. 동일한 SAL 값에 같은 순위를 부여하고 3순위까지 포함하려면 DENSE_RANK를 사용할 수 있다.
오답 풀이
- 1번: ROW_NUMBER는 동점자도 서로 다른 번호를 부여한다.
- 2번: DENSE_RANK는 동점자를 같은 순위로 처리하고 다음 순위를 건너뛰지 않는다.
- 3번: COUNT는 순위 함수가 아니다.
- 4번: NTILE은 행을 지정한 개수의 그룹으로 나눈다.
보충 개념 동순위를 포함한 Top-N 문제에서는 RANK 또는 DENSE_RANK를 고려한다. 순위 간 공백을 원하지 않으면 DENSE_RANK가 적절하다.