https://leetcode.com/problems/department-top-three-salaries/
각 부서별로 동률을 고려하여 부서별 top3 연봉에 해당하는 부서, 직원, 급여을 출력하는 문제이다.
DENSE_RANK를 알면 끝.
SELECT
DEPARTMENT,
EMPLOYEE,
SALARY
FROM(
SELECT
DEPARTMENT.NAME AS DEPARTMENT,
EMPLOYEE.NAME AS EMPLOYEE,
EMPLOYEE.SALARY AS SALARY,
DENSE_RANK() OVER (PARTITION BY DEPARTMENT.NAME ORDER BY SALARY DESC) AS D_RANK
FROM EMPLOYEE JOIN DEPARTMENT ON EMPLOYEE.DEPARTMENTID = DEPARTMENT.ID
) AS SUB
WHERE D_RANK <= 3
'SQL' 카테고리의 다른 글
[LeetCode] Friend Requests II (0) | 2024.01.31 |
---|---|
[Leetcode] Confirmation Rate (0) | 2024.01.30 |
[LeetCode] Second Highest Salary (1) | 2024.01.30 |
[SQL] 윈도우 함수 다시 정리 (0) | 2024.01.27 |
[파이썬 압수] (3) SQL로만 리텐션 구하기 (1) | 2024.01.16 |