리트코드 [Department Top Three Salaries]

윤태영·2024년 9월 3일
0
post-thumbnail

문제

https://leetcode.com/problems/department-top-three-salaries/description/

  • 각 부서의 급여순으로 3등까지 출력하자.
  • 같은 급여가 여러명 있어도 등수는 1개이면, 없는 등수는 없다.(DENSE_RANK 사용)

Table : Employee

Table : Department

Example1

문제풀이

  • 등수 매기기 + 없는 등수는 없다.
    - 윈도우 함수 DENSE_RANK 사용
  • 각 부서마다 급여 순위 매기기 + 3등 이내 출력

쿼리

WITH CTE AS(
       SELECT B.name AS Department,
       A.name AS Employee,
       salary,
       DENSE_RANK() OVER(PARTITION BY departmentId ORDER BY salary DESC) AS dr
FROM Employee A
INNER JOIN Department B ON A.departmentId = B.id
)


SELECT Department,
       Employee,
       salary AS Salary
FROM CTE
WHERE dr<=3
profile
ice blue

0개의 댓글