您好,登錄后才能下訂單哦!
怎么在oracle中使用rownum實現分頁?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
rownum是Oracle數據庫中的一個特有關鍵字,返回的是一個數字代表記錄的行號。
基礎知識:rownum只能做<或者<=的條件查詢,如果要rownum進行51到100這樣的范圍判斷,需要先查詢出每一行的rownum,再用那個序號做判斷
獲取51到100的數據
三種分頁的寫法:
1.使用minus,原理就是查詢出前100行的數據 減去 查詢出前50行的數據
select * from DATA_TABLE_SQL where rownum<=100 minus select * from DATAT_ABLE_SQL where rownum<=50
2.查詢出所有數據的rownum,然后再選擇50到100的數據(不推薦)
select * from (select t.*,rownum num from DATA_TABLE_SQL t) where num<=100 and num>50
3.限定范圍100條數據,并查詢出這100條的rownum,然后再選擇50到100的數據
select * from (select t.*,rownum num from DATA_TABLE_SQL t where rownum<=100 ) where num>50
下面給大家拓展兩個分頁查詢語句:
1:單表查詢
SELECT * FROM (SELECT t.*,ROWNUM r FROM TABLE t WHERE ROWNUM <= pageNumber*pageSize) WHERE r >(pageNumber)*pageSize
2:兩張表聯查
SELECT * FROM (SELECT ROWNUM RN,XX.* FROM (SELECT 表名.字段名, 表名.字段名, 表名.字段名... FROM TABLE1 t1, TABLE2 t2 WHERE t1.字段=t2.字段) XX WHERE ROWNUM<=pageSize*pageNumber) WHERE RN >(pageNumber-1)*pageSize
看完上述內容,你們掌握怎么在oracle中使用rownum實現分頁的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。