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
```