環境
windows
server + Oracle
+ sql*plus
目的
以oracle自帶的scott模式為測試環境
主要通過試驗體會分析函數的用法
row_number() 的使用
原表信息
SQL> break on deptno skip
為效果更明顯
把不同部門的數據隔段顯示
SQL> select deptno
ename
sal
from emp
order by deptno
sal desc;
DEPTNO ENAME SAL
KING
CLARK
MILLER
SCOTT
FORD
JONES
ADAMS
SMITH
BLAKE
ALLEN
TURNER
WARD
MARTIN
JAMES
已選擇
行
使用row_number()查出各部門薪水最高的三個員工姓名
薪水
多於三個的只取三個
SQL> select * from (
select deptno
row_number() over(partition by deptno order by sal desc) rw
ename
sal
from emp
)
where rw<=
;
DEPTNO RW ENAME SAL
KING
CLARK
MILLER
SCOTT
FORD
JONES
BLAKE
ALLEN
TURNER
已選擇
行
體會
row_number() 返回的主要是
行
的信息
並沒有按照sal排名
如
SCOTT
FORD
scott與ford薪水一樣多
ford前面的
僅僅是行數
記錄條數的感念
From:http://tw.wingwit.com/Article/program/Oracle/201311/18559.html