Oracel,scott-emp表中,怎么查出每个部门工资前三名的员工信息

[复制链接]
查看11 | 回复1 | 2016-4-6 20:44:40 | 显示全部楼层 |阅读模式
用rownumber可以实现这个功能: select * from (SELECT a.deptno,(rownum+1-b.min_sno) sno, a.ename,a.sal FROM(SELECT *FROM emp ORDER BY deptno, sal ) a, (SELECT deptno, MIN(rownum) min_sno FROM( SELECT *
FROM emp
ORDER BY deptno, sal desc) GROUP BY deptno) b WHERE a.deptno=b.deptno ) where sno =e1.sal
) <=3 /*这里的数...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行