coding/sql 코딩테스트

[리트코드] 184. Department Highest Salary

임이레 2025. 2. 7. 23:16

왜인지 ,,  좀 걸렸다 medium은 금방금방 풀어내야하는데 말이지? ...

 

뭔가 사고의 과정이 조금 더 유연해져야 하는데 그 부분이 아직 원활하지 않은 것 같다. 

select  Department 
    ,   Employee
    ,   Salary 
from (
    select e.name as Employee
        , salary 
        , d.name as Department
        , rank() over (partition by departmentId order by salary desc) as rk
    from Employee e join Department d on e.departmentId = d.id ) as sub_calc
where sub_calc.rk = 1

 

rank 함수를 써서 서브쿼리로 묶어낸 후에 where 에 rank 가 1 인 애들만 추출해 내면 되는 단순한 문제였다!