동일한 순위가 있을시 동일 순위 개수만큼 건너 뛰고 다음 순위로 계산 EX) 1, 1, 3, 3, 3, 3, 7.....
DENSE_RANK
동일한 순위가 있어도 이후 등수를 순서대로 처리 EX) 1, 1, 2, 2, 2, 2, 3, 4, .....
-- 직원 정보에서 급여를 가장 많이 받는 순으로 이름, 급여, 순위 조회
-- RANK 함수 사용
SELECT
E.EMP_NAME
, E.SALARY
, RANK() OVER(ORDER BY E.SALARY DESC) 순위
FROM EMPLOYEE E;
-- DENSE_RANK 함수 사용
SELECT
E.EMP_NAME
, E.SALARY
, DENSE_RANK() OVER(ORDER BY E.SALARY DESC) 순위
FROM EMPLOYEE E;
-- TOP5
SELECT
V.*
FROM (SELECT
E.EMP_NAME
, E.SALARY
, RANK() OVER(ORDER BY E.SALARY DESC) 순위
FROM EMPLOYEE E
) V
WHERE V.순위 <= 5;