더북(TheBook)

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;

실행결과

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.