Hard

3.17

  • [185. 部门工资前三高的所有员工]
    题解要点:
    子查询
    和medium题目中的189类似;
    使用窗口函数进行处理`` ```sql

    窗口函数

    select D.name Department ,a.name Employee ,a.salary from (select departmentId, name,salary ,dense_rank() over(partition by DepartmentId order by salary desc) ranknum from Employee) a,Department D where a.departmentId =D.id and a.ranknum in (1,2,3)

SELECT B.Name AS Department, A.Name AS Employee, A.Salary FROM (SELECT DENSE_RANK() OVER (partition by DepartmentId order by Salary desc) AS ranking,DepartmentId,Name,Salary FROM Employee) AS A JOIN Department AS B ON A.DepartmentId=B.id WHERE A.ranking<=3 ```