網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > 綜合知識 > 

oracle分頁sql怎麼寫

欄目: 綜合知識 / 發佈於: / 人氣:1.82W
1. 在oracle數據庫中的分頁SQL語句怎麼寫

前提:

oracle分頁sql怎麼寫

分頁參數:size = 20 page = 2;

沒有order by的查詢;

嵌套子查詢,兩次篩選(推薦使用)。

SQL語句:

SELECT *

FROM (SELECT ROWNUM AS rowno, t.*

FROM DONORINFO t

WHERE t.BIRTHDAY BETWEEN TO_DATE ('19800101', 'yyyymmdd')

AND TO_DATE ('20060731', 'yyyymmdd')

AND ROWNUM <= 20*2) table_alias

WHERE table_alias.rowno > 20*(2-1);

擴展資料:

rownum總是從1開始的,第一條不滿足去掉的話,第二條的rownum 又成了1。依此類推,所以永遠沒有不滿足條件的記錄。

可以這樣理解:rownum是一個序列,是Oracle數據庫從數據檔案或緩衝區中讀取數據的順序。它取得第一條記錄則rownum值爲1,第二條爲2。

依次類推:當使用“>;、>;=、=、between。and”這些條件時,從緩衝區或數據檔案中得到的第一條記錄的rownum爲1,不符合sql語句的條件,會被刪除,接着取下條。下條的rownum還會是1,又被刪除,依次類推,便沒有了數據。

2. 初學oracle,怎樣寫一個oracle分頁sql語句

sql = "select * from " +

"(select rownum r,* from " +

"(select * from articles order by postime desc)" +

"where rownum<= " + pageNo*pageSize +") tmp " +

"where r>" + (pageNo-1)*pageSize;

其中,pageNo爲頁數,pageSize爲每頁顯示條數。

3. 初學oracle,怎樣寫一個oracle的分頁sql語句

先定義一個類除了上一頁,下一頁,首頁,尾頁,還要每頁字段條數,當前頁,總頁數,總字段數

總字段數就是你查詢出來的總字段數,

每頁字段條數是你自己定義的,

然後算出總頁數,當前頁

然後你就可以拼接sql語句了:

select top A * from table where id not in (select top A*(B-1) id from table);

A是每頁字段條數,B是當前頁。

其實如果用了hibernate 會發現,有現成的方法

Query對象

query.setFirstResult(A);//設定當前頁碼,從0開始

query.setMaxResults(B);//設定每頁顯示數目

4. 用oracle在mybatis中分頁sql怎麼寫

(1)select * from (select a.*, rownum rnum from (select id, data from t order by id, rowid) a ) where rnum >= 148 and rnum<=151;或者(2)select * from (select a.*, rownum rnum from (select id, data from t order by id, rowid) a where rownum <= 151 ) where rnum >= 148;最近在開發中同事說第(1)種效率不好,而第(2)種在只有唯一值(列)的時間才能正常排序,以前一直用第(1)種,今天同事找到如下的方式,解決了 第(2)種唯一值(列)排序的問題,如下:(3)select * from (select a.*, rownum rnum from (select id, data from t order by id, rowid) a where rownum <= 151 ) where rnum >= 148;。

Tags:oracle 分頁 SQL