问题描述
工资最高的N个部门,但总体工资最高的部门应该是最高的,然后部门中第二高的部门 (排名1) 应该是下一个。
如何实现这个SQL查询?
以下是示例数据:
谢谢
Anu
如何实现这个SQL查询?
以下是示例数据:
create table emp_sal_test ( dept# number , emp_name varchar2(200), salary number ) / insert into emp_sal_test values ( 40 , 'Isha',80000); insert into emp_sal_test values ( 40 , 'Pooja',70000); insert into emp_sal_test values ( 40 , 'Geet',77000); insert into emp_sal_test values ( 10 , 'Julie',75000); insert into emp_sal_test values ( 10 , 'Jia',69000); insert into emp_sal_test values ( 10 , 'Diya',72000); insert into emp_sal_test values ( 20 , 'Sanvi',74000); insert into emp_sal_test values ( 20 , 'Siya',65000); insert into emp_sal_test values ( 20 , 'Seeta',81000); The result of the query should be as following : DEPT# EMP SALARY 20 Seeta 81000 20 Sanvi 74000 20 Siya 65000 40 Isha 80000 40 Geet 77000 40 Pooja 70000 10 Julie 75000 10 Diya 72000 10 Jia 69000复制
谢谢
Anu
专家解答
首先,您需要找到每个部门的最高薪水。
你可以通过使用max() 的解析版本,按部门划分来找到这个。例如:
您现在需要做的就是按此降序排列,然后按工资顺序排列:
你可以通过使用max() 的解析版本,按部门划分来找到这个。例如:
select e.*, max(salary) over (partition by e.dept#) dept_mx_sal from emp_sal_test e; DEPT# EMP_NAME SALARY DEPT_MX_SAL 10 Jia 69000 75000 10 Diya 72000 75000 10 Julie 75000 75000 20 Sanvi 74000 81000 20 Seeta 81000 81000 20 Siya 65000 81000 40 Geet 77000 80000 40 Pooja 70000 80000 40 Isha 80000 80000复制
您现在需要做的就是按此降序排列,然后按工资顺序排列:
select e.*, max(salary) over (partition by e.dept#) dept_mx_sal from emp_sal_test e order by dept_mx_sal desc, salary desc DEPT# EMP_NAME SALARY DEPT_MX_SAL 20 Seeta 81000 81000 20 Sanvi 74000 81000 20 Siya 65000 81000 40 Isha 80000 80000 40 Geet 77000 80000 40 Pooja 70000 80000 10 Julie 75000 75000 10 Diya 72000 75000 10 Jia 69000 75000复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
593次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
560次阅读
2025-04-18 14:18:38
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
482次阅读
2025-04-08 09:12:48
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
472次阅读
2025-04-20 10:07:02
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
457次阅读
2025-04-22 00:20:37
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
430次阅读
2025-04-22 00:13:51
Oracle 19c RAC更换IP实战,运维必看!
szrsu
430次阅读
2025-04-08 23:57:08
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
414次阅读
2025-04-17 17:02:24
火焰图--分析复杂SQL执行计划的利器
听见风的声音
358次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
356次阅读
2025-04-15 14:48:05