查询每个部门工资前三名的员工信息
2016-10-13 09:51
435 查看
问:Oracle的EMP表,查询每个部门工资前三名的员工信息,如何写??
解答:(通用sql)
[java] view
plain copy
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查询:(利用分区功能)
[java] view
plain copy
select * from
(select deptno,ename,sal,row_number() over (partition by deptno
order by sal desc) rn
from emp)
where rn<3;
解答:(通用sql)
[java] view
plain copy
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查询:(利用分区功能)
[java] view
plain copy
select * from
(select deptno,ename,sal,row_number() over (partition by deptno
order by sal desc) rn
from emp)
where rn<3;
![](https://oscdn.geek-share.com/Uploads/Images/Content/201701/9cc493f1e15b23d0f4eaea0d0f8b35d0.png)
相关文章推荐
- SQL(收藏)查询每个部门工资前三名的员工信息
- oracle实现查询每个部门的员工工资排在前三的员工的基本信息具体举例
- 有一张员工表,有员工名称,部门编号,工资收入,查询每个部门中收入前三的人员清
- 一条SQL语句实现查询每个部门中年龄最大的员工信息
- 面试题:查询部门最高工资的员工信息
- 临时记录ORACLE--查询每个部门工资前2名的员工
- 查询与20号部门某个员工工资相等的员工信息
- 面试题:查询部门工资排前三的员工信息
- 查询比50号部门某个员工工资高的员工信息
- oracle实现查询每一个部门的员工工资排在前三的员工的基本信息详细举例
- 查询每个部门工资最低的两个员工的编号,姓名,工资
- 有一张员工表,有员工名称,部门编号,工资收入,查询每个部门中收入前三的人员清单
- 查询50号部门员工的平均工资,如果平均工资低于5000,则每个员工工资增加1000
- 面试题:查询部门最高工资的员工信息
- 如何用分析函数找出EMP表中每个部门工资最高的员工
- 创建存储过程,以部门编号为参数,查询并返回该部门平均工资,以及该部门中比该部门平均工资高的员工信息
- 4.有关日期格式属性修改常识,v$nls_parameters,between and,查询指定部门的员工信息,in和null,like模糊查询,order by后面可以跟:列名、表达式、别名、序号
- 查询比本部门平均工资高的员工信息
- 使用光标查询10部门的员工姓名和工资,并打印__使用光标查询员工姓名和工资,并打印
- 查询出部门名称、部门的员工数、部门的平均工资、部门的最低收入雇员姓名和最高收入雇员的姓名