select * from (select row_number()
over() as rownum, t.* from (
) t) as a where rownum between 1 and 30
由於db2 在取出資料時會為每個資料對應生成乙個rownum,之後根據rownum去分頁,此方法紅色部分最後的 fetch first 30 rows only 表示我們這次查詢只查詢前30條,那麼最終生成的 rownum是1-30,然後我們在在最後搜尋1-30之間的資料,如果不加fetch first 30 rows only
那麼會預設取出所有的資料,然後再給每個資料加上rownum,導致查詢速度非常慢,其中30是個變數,1-30也是變數,大家可根據自己應用的框架來給這些變數賦值,這個方法的不足點是隨著翻頁的頁數也多,查詢所有也就越慢,以為越往後需要查詢的資料量就越大,但總體來說也算是乙個解決辦法把.
db2分頁查詢
在mysql中,實現分頁查詢比較方便,只需要傳入查詢開始的條數start和要查詢多少條資料即每頁顯示多少條資料limit就可以 db2和oracle實現分頁的方式類似,所需要的引數為要查詢的資料開始的條數start,結尾的條數end,並且在sql語句中還需要設定row number oracle中為...
Oracle SQL和DB2分頁查詢寫法介紹
db2分頁查詢和oracle sql中的分頁查詢語句寫法都不太一樣,下面就為您介紹db2分頁查詢和其他資料庫中分頁查詢的區別,希望對您有所幫助。oracle分頁查詢寫法 一 oracle select from select rownum,name from table where rownum e...
Oracle SQL和DB2分頁查詢寫法介紹
db2分頁查詢和oracle sql中的分頁查詢語句寫法都不太一樣,下面就為您介紹db2分頁查詢和其他資料庫中分頁查詢的區別,希望對您有所幫助。oracle分頁查詢寫法 一 oracle select from select rownum,name from table where rownum e...