oracle查询相关,大虾帮忙!

来源:百度知道 编辑:UC知道 时间:2024/06/17 16:11:30
在oracle里查询emp(职员表)里每个部门里工资前三位的职员名跟工资数。急求
请尽可能多的方法告诉我!谢谢,如果优秀我会再加分!急求

rank分析函数:

SQL> select * from
2 (select ename,sal,rank() over (partition by deptno order by sal) n from scott.emp)
3 where n<=3
4 ;

ENAME SAL N
---------- --------- ----------
MILLER 1300.00 1
CLARK 2450.00 2
KING 5000.00 3
SMITH 800.00 1
ADAMS 1100.00 2
JONES 2975.00 3
JAMES 950.00 1
WARD 1250.00 2
MARTIN 1250.00 2

9 rows selected