RANK( ), DENSE_RANK( ), PERCENT_RANK( )
다음은 순위를 반환하는 함수입니다. RANK() 함수는 순위, DENSE_RANK() 함수는 누적 순위, PERCENT_RANK() 함수는 비율에 따른 순위를 반환합니다. 세 함수의 반환값과 차이점을 예제로 살펴봅시다.
코드 11-14
SELECT employee_id, emp_name, dept_name, salary,
RANK() OVER (PARTITION BY dept_name
ORDER BY salary DESC
) ranks,
DENSE_RANK() OVER (PARTITION BY dept_name
ORDER BY salary DESC
) dense_ranks,
PERCENT_RANK() OVER (PARTITION BY dept_name
ORDER BY salary DESC
) percent_ranks
FROM emp_hierarchy
ORDER BY 3, 4 DESC;
실행결과