oracle的rownum是一種偽列,它會根據返回記錄生成乙個序列化的數字。rownum經常與《和<=搭配使用,(=和!=)雖然也能和rownum一起檢視,但是在某些條件下會失效。其他如(>、>=、between...and)也能編譯成功,但是不會返回任何查詢結果。rownum常用來獲取查詢的部分結果,如獲取前10條記錄或者分頁查詢等。
(1)獲取前10條記錄
select * from student where rownum<=10
(2)分頁查詢。oracle中分頁查詢的思路是先獲取小於等於分頁最大行數的所有記錄,然後在這些記錄中再獲取大於等於分頁最小行數的記錄。如查詢分頁第21到第30條記錄,先獲取前30條記錄,然後再從這30條記錄中獲取第20條以後的記錄。
select * from (select *,rownum as rn from student where rowmunber<=30) tb1 where tb1.rn>=21
rowmun不能和=、!=、>、>=、between...and配合使用,因為rownum是對結果集加的乙個偽列,即先查到結果集之後再加上去的乙個列。對符合條件結果的序列號,rowmun總是從1開始排起。所以選出的結果不可能沒有1,而有其他大於1的值。
rowmun和=使用的唯一條件是rowmun=1,rowmun和!=使用的唯一條件是rowmun!=1。
ORACLE分頁查詢
單錶分頁 start num 起始行號 end num 截止行號 select t.from select s.rownum rn from table s where rownum end num t where rn start num 多表分頁 select from select temp....
Oracle分頁查詢
oracle的分頁查詢語句基本上可以按照本文給出的格式來進行套用。分頁查詢格式 select from select a.rownum rn from select from table name a where rownum 40 where rn 21 其中最內層的查詢select from t...
oracle 分頁查詢
1 要把rowid來分 select from t xiaoxi where rowid in select rid from select rownum rn,rid from select rowid rid,cid from t xiaoxi order by cid desc where r...