题解 | #获取每个部门中当前员工薪水最高的相关信息#

获取每个部门中当前员工薪水最高的相关信息

http://www.nowcoder.com/practice/4a052e3e1df5435880d4353eb18a91c6

1.先 inner join 两张表;
2.select 题目需要的字段,用窗口函数 dense_rank() 根据 dept_no 分组,然后倒序给 salary 排名
3.最外层常规 select 出需要字段,where 条件为 ranking=1,则为每个部门薪水最高的员工记录。

select t.dept_no
      ,t.emp_no
      ,t.salary as maxSalary
from 
      (select dept_emp.dept_no
             ,dept_emp.emp_no
             ,salaries.salary
             ,dense_rank() over(partition by dept_emp.dept_no order by salaries.salary desc ) as ranking
       from dept_emp
       inner join salaries
       on dept_emp.emp_no=salaries.emp_no) t
where  t.ranking = 1
全部评论

相关推荐

狸猫换offer:神通广大的互联网
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务