https://leetcode.com/problems/department-top-three-salaries/
-- department별로 연봉 순위 매기기
SELECT Department, Employee, Salary
FROM (
SELECT d.name AS Department,
e.name AS Employee,
e.salary,
DENSE_RANK() OVER (PARTITION BY e.departmentId ORDER BY e.salary DESC) AS rnk
FROM employee e
INNER JOIN department d ON e.departmentId = d.id
) sub
WHERE rnk <=3
SELECT 절에서 연산한 내용 (rnk)을 WHERE절 서브쿼리에 사용할 수 없기 때문에
FROM절 서브쿼리에 넣어서 연산해줘야 함
'SQL > 문제풀이' 카테고리의 다른 글
[HackerRank] Challenges 📌 (0) | 2024.05.09 |
---|---|
[HackerRank] Top Earners / N가지 풀이 (0) | 2024.05.08 |
[Leetcode] Department highest salary / N가지 풀이 (Subquery, Window Function) (0) | 2024.05.08 |
[LeetCode] Consecutive Numbers / N가지 풀이 (0) | 2024.05.08 |
[LeetCode] investments-in-2016 📌 (0) | 2024.03.26 |