oracle選擇從m條到n條的記錄

2022-12-21 01:16:15 字數 1308 閱讀 8403

1樓:我tm不管

如何實現分頁提取記錄

方法1:oracle的rownum偽列返回查詢的行序號。

例如要查詢表的前10條記錄,可以使用

select * from tablename where rownum<=10

但是要返回第11-第20條記錄,嘗試以下的語句

select * from tablename where rownum<=20 and rownum>=11;

這個人報錯。返回0條記錄。因為rownum是偽列,不能用》=條件

使用以下方法可以查詢第11-第20條記錄

select * from

(select rownum rn ,t.* from tablename t where rownum<=20) where rn>=11;

方法2:使用分析函式row_number實現分頁

select * from (select row_number() over (order by id) rn,t.* from tablename t)

where rn between 11 and 20;

方法3:使用集合運算minus實現分頁

select * from tablename where rownum<=20 minus

select * from tablename where rownum<11;

點評:方法1在查詢前幾頁時速度很快。但在資料量很大時,最後幾頁速度比較慢。

方法2查詢效率比較穩定,是推薦使用的方法。

方法3只適合查詢結果在200行以內的情況,記錄數很多時會導致oracle錯誤,需謹慎使用。

看看這個吧,你就會明白了

2樓:來自蘄州古城貌若天仙的雪梨

/*查前三*/

select num,job from (select count(*) num,job from emp group by job order by num desc) where rownum<=3;

/*查第

三、四*/

select num,job from (select rownum r,num,job from (select count(*) num,job from emp group by job order by num desc)) where r between 3 and 4;

3樓:匿名使用者

不行,rownum是偽序列,必須從1開始,如果沒有1就沒有2,也就沒有m.

4樓:匿名使用者

不行!!!!!!!!!

求一條從安徽阜陽到廣州的最快路線。做火車的

t179次列車,始發站 濟南 終到站 廣州 歷時15 13 t159次列車,始發站 青島 終到站 廣州東 歷時 16 15 或者先從阜陽坐車到武漢然後從武漢做去廣州的車,算下時間大概10小時左右 從阜陽坐車廣州 大概在者拿桐4.5 5小時然後到武漢坐車到廣州 武漢到廣州的車很多很多 幾乎10多分鐘一...

你最近從報紙上讀到哪些新聞了,從中選擇一條寫下來(急急急急急

吳莫愁地鐵驚悚海報嚇哭5歲孩童。中國將對釣島精確測繪 一代宗師 廣州宣傳 公安部 乙個駕駛本最多只能為三輛車銷分 最近國內外有哪些重要新聞?請你選擇一條寫下來,並對此事發表一下你的看法.稜鏡門應該是比較有代表性的。由於敏感詞問題,具體請參考維基百科 稜鏡計畫 從你讀過的報紙中摘錄一條你最感興趣的新聞...

請你選擇一條格言作為自己的座右銘

寧可我負天下人,不叫天下人負我 曹操 生當作人傑,死亦為鬼雄 寫一則關於學習的名言作為自己的座右銘 1.世上無難事,只要肯登攀。2.勤奮是學習的枝葉,當然很苦,智慧型是學習的花朵,當然香郁。3.不求做的最好,但求做的更好。4.冰凍三尺,非一日之寒,成大事者不拘小節。5.智者千慮,必有一失 遇者千慮,...