ROW_NUMBER, RANK, DENSE_RANK 의 차이점
- ROW_NUMBER(): 순위를 건너뛰지 않고 부여 (고유 번호).
- RANK(): 순위를 매기지만, 동일 값은 같은 순위로 처리하고 다음 순위를 건너뜀.
- DENSE_RANK(): 동일 값은 같은 순위로 처리하되, 순위가 연속적으로 부여됨.
SELECT
emp_no,
department,
salary,
ROW_NUMBER() OVER(PARTITION BY department ORDER BY SALARY DESC) as dept_row_number,
RANK() OVER(PARTITION BY department ORDER BY SALARY DESC) as dept_salary_rank,
RANK() OVER(ORDER BY salary DESC) as overall_rank,
DENSE_RANK() OVER(ORDER BY salary DESC) as overall_dense_rank,
ROW_NUMBER() OVER(ORDER BY salary DESC) as overall_num
FROM employees ORDER BY overall_rank;
카페 게시글
DB/SQL
MySQL
ROW_NUMBER, RANK, DENSE_RANK 의 차이점
주인장
추천 0
조회 25
25.01.26 01:18
댓글 0
다음검색