當前位置:編程學習大全網 - 網站源碼 - 在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,又被刪除,依次類推,便沒有了數據。

  • 上一篇:大智慧大師公式怎麽寫才不會在大師左上角顯示平均天數?
  • 下一篇:抖音seo是什麽
  • copyright 2024編程學習大全網