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

#   1.获取每个部门【按部门聚合】中薪水最高的【用函数max()】员工相关信息,
#   2.给出dept_no, emp_no以及其对应的salary,
#   3.按照部门编号dept_no升序排列

#   思路一:使用where的子查询做筛选,子查询中嵌套表连接
/*
select d.dept_no, d.emp_no, salary
from dept_emp d join salaries s on d.emp_no = s.emp_no
where salary in (select max(salary) from dept_emp d join salaries s on d.emp_no = s.emp_no group by d.dept_no)
order by d.dept_no;
*/

#   思路二:使用from的子查询+rank窗口函数,最后rk=1做筛选
select rk.dept_no, rk.emp_no, salary
from (
    select d.dept_no, d.emp_no, salary, rank()over(partition by d.dept_no order by s.salary desc) as posn
    from dept_emp d join salaries s on d.emp_no = s.emp_no) as rk
where rk.posn = 1
order by rk.dept_no

全部评论

相关推荐

05-12 18:24
长安大学 UE4
因为是家里第一代大学生,报专业报学校都没人可以指导,只能自己看着来毕业找工作,父母只知道考公务员啊考教师啊,丝毫不考虑难度我说要去大城市打工才行,小县城对学历没有需求,开的工资都很低,两三千养活不了的结果都不同意我去大城市,觉得北上广深远,不稳定,一年到头不着家,养这么大孩子算白养了要我怎么办,不考公不考编就是死路一条呗,出去打工就是不孝呗可是考公考编也好难,考上也是小职员,到时候又变成了家里第一代体制内了,不还是样样靠自己有时候很羡慕同学,要去大城市打拼,家里都很支持去看看外面的世界也羡慕同学父母都是体制内的,考上还有所依靠家里没有办法给予帮助,简直是进入死胡同一样
Two_Shadow:你先拿到offer,路是自己走的,你真去了谁拦得住你呢,不用给自己扣帽子,我也是我家第一代大学生啊,农村人,高考96个志愿我就填50多个计算机,爸妈让我填满保底我说我不,我就学计算机,上大学了让我考研我说我不考,我就喜欢干活,现在签了offer,他们也释怀,不回家就努力提升自己,就往家里打钱,就开视频,还能怎么样呢,路是自己走的,他们只是希望你能走得好一点,但大部分父母,尤其是农村父母根本帮不了你什么,难道你就不走路了吗,希望能骂醒你,不要想太多做太少。
点赞 评论 收藏
分享
03-29 12:10
门头沟学院 C++
挣K存W养DOG:散漫消极者淘汰,一眼坑爹。实习几个月转正的时候说你加班太少,能力还行态度不够积极裁了,马上老实。
点赞 评论 收藏
分享
04-17 10:16
门头沟学院 Java
小浪_coder:24届很难找了,马上25的都毕业了还有很多没找到的
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务