本文主要是介绍【SQL】185. 部门工资前三高的所有员工(窗口函数dense_rank();区分rank()、row_number()),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前述
推荐阅读:通俗易懂的学会:SQL窗口函数
题目描述
leetcode题目 185. 部门工资前三高的所有员工
思路
- 先按照departmentId分组,再按照salary排序 ==>窗口函数dense_rank() over()
select B.name as Department,A.name as Employee,A.salary as Salary
from (select *,dense_rank() over(partition by departmentId order by salary desc) as rk from Employee
) A
join Department B
on B.id = A.departmentId
where A.rk <= 3
注意:区分窗口函数rank()、dense_rank()、row_number()
1. rank()
2. dense_rank()
3. row_number()
这篇关于【SQL】185. 部门工资前三高的所有员工(窗口函数dense_rank();区分rank()、row_number())的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!