【 Oracle中rownum的用法 】
1、查詢第幾行的記錄
select sal from emp where rownum=1; //查詢得到第一行記錄
select sal from emp where rownum=5; //不可以查詢到第五行記錄,因為rownum 總是從1開始查詢的,故這種方式不可以直接得到第幾行的記錄。若想得到第五行記錄,應採用如下方式:
select r,sal from (select rownum r,sal from emp) where r= 5;
2、用來獲取前幾行的記錄,即小於某值的記錄。
例:查詢前四行的記錄
select rownum,sal from emp where rownum<5;
3、用來獲取後幾行的記錄,即大於某值的記錄。例:查詢第五行之後的記錄
select r,sal from (select rownum r,sal from emp ) where r>5;
4、查詢一個範圍內的記錄。如查詢第三行到底八行的記錄:
select r,sal from (select rownum r,sal from emp) where r>=3 and r<=8;
5、rownum 與排序
select rownum,sal from emp order by sal;
從這條語句的執行結果你可以發現,rownum不是從1 一次增大,而是亂的,實際上這些rownum是指每條記錄未排序之前所處的行數,當然這不是我們想要的結果,那麼如何得到rownum也是順序排列的查詢結果呢?這就需要先對原紀錄排序,然後從新的順序中提取出rownum和想要的記錄內容。如:
select rownum,sal from (select * from emp order by sal) ;
select rownum, sal from (select * from emp order by sal ) where rownum <5;
select r, sal from (select rownum r,sal from (select * from emp order by sal )) where r >5;
select r, sal from (select rownum r,sal from (select * from emp order by sal ))
where r >5 and r < 10;
轉載:http://blog.csdn.net/lcj8/article/details/4720032
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2128500/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE 中ROWNUM用法總結!Oracle
- ORACLE 中ROWNUM用法總結Oracle
- ORACLE 中ROWNUM用法總結! (轉)Oracle
- ORACLE 中ROWNUM(偽列)用法解析(轉載)Oracle
- Oracle中的rownumOracle
- Oracle中的Rownum 欄位Oracle
- oracle的rownumOracle
- Oracle ROWNUMOracle
- oracle中rownum和rowid的區別Oracle
- Oracle中rownum和row_number()Oracle
- oracle中基於ROWNUM的查詢的返回Oracle
- Oracle中with的用法Oracle
- Oracle中rownum與rowid使用上的問題Oracle
- 【Oracle】-【ROWNUM與索引】-索引對ROWNUM檢索的影響Oracle索引
- Oracle的rownum原理和使用Oracle
- oracle偽列rownumOracle
- Oracle 中 case的用法Oracle
- Oracle:On ROWNUM and Limiting ResultsOracleMIT
- lightdb -- Oracle相容 -- rownumOracle
- oracle中rownum,sql server中top函式,mysql中limit[轉載]OracleServer函式MySqlMIT
- oracle樹中prior的用法Oracle
- Oracle中rowid的用法Oracle
- 【oracle中rowid的用法】Oracle
- oracle中copy from的用法Oracle
- oracle中top用法Oracle
- Oracle中group by用法Oracle
- Oracle Rownum分頁改寫Oracle
- 關於Oracle偽列rownumOracle
- Oracle中select ... for update的用法Oracle
- 案例:oracle中case when的用法Oracle
- oracle 使用rownum進行分頁的陷阱Oracle
- Oracle中rownum對錶的掃描方式效能上的影響深入探究Oracle
- Oracle中"cascade"的用法總結Oracle
- 【oracle rowid與rownum的使用與區別 】Oracle
- oracle 使用rownum進行分頁的陷阱(2)Oracle
- oracle中substr() instr() 用法Oracle
- oracle中merge into用法解析Oracle
- Oracle PL/SQL中EXCEPTION用法OracleSQLException