别编了没有头发了 2021-07-05 15:33 采纳率: 100%
浏览 83
已采纳

Oracle中查询各个部门薪水第二第三高的员工姓名

Oracle中查询各个部门薪水第二第三高的员工姓名
只能一句话写出来不可以分两步

  • 写回答

3条回答 默认 最新

  • CSDN专家-文盲老顾 2021-07-05 15:41
    关注
    select * from (select 部门,姓名,row_number() over(partition by 部门 order by 薪水 desc) as rid from 表) a where rid in (2,3) order by 部门,rid
    

    oracle 里有 row_number 开窗函数,使用row_number对部分进行分组,并按薪水排序即可得到排名序号,如果有薪水重复的,用 rank或dense_rank代替row_number,具体oracle里这两个函数是否是这个名字我并不确定,你可以尝试一下

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?