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里这两个函数是否是这个名字我并不确定,你可以尝试一下
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用