반응형
WINDOW 함수인 DENSE_RANK()를 사용하여 동일한 값은 동일한 랭크를 주게 하였고
SELECT 절에 연산한 것을 WHERE절에서 필터링 조건으로 사용할 수 없기 때문에 서브쿼리로 묶어 값을 뽑아냈습니다.
SELECT
t.department,
t.employee,
t.salary
FROM (
SELECT d.name AS department
, e.name AS employee
, e.salary AS salary
, DENSE_RANK() OVER(PARTITION BY departmentId ORDER BY salary DESC) AS dr
FROM
employee e
INNER JOIN
department d
ON
e.departmentId = d.id
) t
WHERE t.dr <= 3
반응형
'Database' 카테고리의 다른 글
Weather Observation Station 7 [ MySql ] (0) | 2021.12.07 |
---|---|
Weather Observation Station 6 [ MySql ] (0) | 2021.12.07 |
Department Highest Salary [ MSSQL ] (0) | 2021.12.06 |
LeetCode Consecutive Numbers [ MySQL ] (0) | 2021.11.24 |
HackerRank The Report [ MySQL ] (0) | 2021.11.24 |