`
devon.k
  • 浏览: 88270 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

SQL(收藏)查询每个部门工资前三名的员工信息

阅读更多
问:Oracle的EMP表,查询每个部门工资前三名的员工信息,如何写??
解答:(通用sql)
select deptno, ename, sal    
from emp e1   
where    
   (
    select count(1)   
    from emp e2   
    where e2.deptno=e1.deptno and e2.sal>=e1.sal
   ) <=3 /*这里的数值表示你想取前几名*/
order by deptno, sal desc;  



Oracle查询:(利用分区功能)
select * from    
(select deptno,ename,sal,row_number() over (partition by deptno   
    order by sal desc) rn    
from emp)    
   where rn<3;  

分享到:
评论
2 楼 st291223883 2014-06-17  
   目测,你的第一sql  是错误的!!!
你有没有想过,并列时候的情况,比如说:某一个部门的员工前三名的工资是相同的话,你的sql 肯定查不出来!!
1 楼 activiti 2013-11-08  
[/img][/img][/img][/img][/img][/img][/img][/img][/img][/img][/img]" target="_blank">[url][url][url][/img][/img][/img][/img][/img][/img][/img][/img][/img][/img][/img][/url][/url][/url]" />[/img][/img][/img][/img][/img][/img][/img][/img][/img][/img][/img]" target="_blank">[url][url][url][/img][/img][/img][/img][/img][/img][/img][/img][/img][/img][/img][/url][/url][/url]" wmode="" quality="high" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="200" height="200">[/flash][/flash][/flash][/flash][/flash][/flash]
||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||
||||||||||||||||||||||||||||
||||||||||||||||||||||||||||
|||||||||||||||||||||||||||
|||||||||||||||||||||||||||
||||||||||||||||||||||||||
||||||||||||||||||||||||||
|||||||||||||||||||||||||
|||||||||||||||||||||||||
||||||||||||||||||||||||
||||||||||||||||||||||||
|||||||||||||||||||||||
|||||||||||||||||||||||
||||||||||||||||||||||
||||||||||||||||||||||
|||||||||||||||||||||
|||||||||||||||||||||
||||||||||||||||||||
||||||||||||||||||||
|||||||||||||||||||
|||||||||||||||||||
||||||||||||||||||
||||||||||||||||||
|||||||||||||||||
|||||||||||||||||
||||||||||||||||
||||||||||||||||
|||||||||||||||
|||||||||||||||
||||||||||||||
||||||||||||||
|||||||||||||
|||||||||||||
||||||||||||
||||||||||||
|||||||||||
|||||||||||
||||||||||
||||||||||
|||||||||
|||||||||
||||||||
||||||||
|||||||
|||||||
||||||
||||||
|||||
|||||
||||
||||
|||
|||
||
||
|
|

相关推荐

    LeetCode:MySQL分组内取前几名问题(难度:困难)

    编写一个 SQL 查询,找出每个部门获得前三高工资的所有员工。例如,根据上述给定的表,查询结果应返回: 解释:IT 部门中,Max 获得了最高的工资,Randy 和 Joe 都拿到了第二高的工资,Will 的工资排第三。销售部门...

    oracle常用sql查询语句部分集合(图文)

    1.–dense_rank()分析函数(查找每个部门工资最高前三名员工信息) select * from (select deptno,ename,sal,dense_rank() over(partition by deptno order by sal desc) a from scott.emp) where a&lt;=3 order by ...

    SQL常见面试题.txt

    通过大量资料整理总结的SQL/Oracle常见面试题,包括:删除表中重复记录、Oracle中的分页、找出每个部门员工工资最高的前三名等问题的解决方法。

    2009达内SQL学习笔记

    如果想在多个列上进行排序,必须对每个列指定DESC关键字。 升序是默认的,可不写,但降序必须写。 六、WHERE子句,选择、过滤 其后只能跟逻辑语句,返回值只有ture或false 如: select last_name,salary from s...

    oracle实验报告

    3、 通过dept表查询出所有部门号,对每个部门雇员的工资进行调整,将工资高于(包含$2000)$2000的雇员每人增加$500,将工资低于$2000的雇员每人增加到$2000。但应注意雇员工资调整后不应大于$10000,否则显示出错信息,...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    第三章 Sql查询与函数 一、 SQL概述 SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名。  SQL...

    oracle数据库经典题目

    PL/SQL程序的基本单元是语句块,所有的PL/SQL程序都是由语句块构成的,语句块之间可以相互嵌套,每个语句块完成特定的功能。  声明部分:以关键字DECLARE开始,BEGIN结束。主要用于声明变量、常量、数据类型、游标...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    每个实例都是经过笔者精心筛选的,具有很强的实用性,其中一些实例是开发人员难于寻觅的解决方案。 本书两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;本书实例来源...

    Java面试宝典2010版

    15.查出比经理薪水还高的员工信息: 16、求出小于45岁的各个老师所带的大于12岁的学生人数 17.求出发帖最多的人: 18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零...

    最新Java面试宝典pdf版

    15.查出比经理薪水还高的员工信息: 105 16、求出小于45岁的各个老师所带的大于12岁的学生人数 106 17.求出发帖最多的人: 107 18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨...

    vc++ 开发实例源码包

    1) 客户向服务器发送请求, 每个请求的长度不定. 请求的长度在第一个INT中指定. 2) 每个服务器通常会向多种客户提供服务, 例如, TS要同时向CP, NP提供服务, CP要向NP和其他CP提供服务, 同时还是其他CP, TS, SP的客户....

    Java面试笔试资料大全

    15.查出比经理薪水还高的员工信息: 105 16、求出小于45岁的各个老师所带的大于12岁的学生人数 106 17.求出发帖最多的人: 107 18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨...

    JAVA面试宝典2010

    15.查出比经理薪水还高的员工信息: 105 16、求出小于45岁的各个老师所带的大于12岁的学生人数 106 17.求出发帖最多的人: 107 18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨...

    Java面试宝典-经典

    15.查出比经理薪水还高的员工信息: 105 16、求出小于45岁的各个老师所带的大于12岁的学生人数 106 17.求出发帖最多的人: 107 18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨...

Global site tag (gtag.js) - Google Analytics