db2分頁查詢

2021-07-25 02:17:51 字數 891 閱讀 1544

在mysql中,實現分頁查詢比較方便,只需要傳入查詢開始的條數start和要查詢多少條資料即每頁顯示多少條資料limit就可以

db2和oracle實現分頁的方式類似,所需要的引數為要查詢的資料開始的條數start,結尾的條數end,並且在sql語句中還需要設定row_number()(oracle中為rownum)作為查詢的輔助函式,此時要使用select語句的巢狀,巢狀在from子句中進行。

子句為:

select row_number() over ( order by date desc ) as r,e.* from emp e

其中 row_number() 作為人為的新增一列作為給每一條資料進行編號

over()中是實現排序的字段和方式,date是欄位名,desc是方式,都可以修改,但是over()為必須寫的,不寫會報錯

as r是為row_number()這個列取的乙個別名

真正要分頁查詢的資料在外面的父句中進行實現

完整的語句為

select * from (

select row_number() over(order by date desc) as r,e.*

from emp e

where e.name=』a』)

where r between 1 and 5

還有一種方式是用》=和<=直接實現的

語句為

select * from (

select row_number() over(order by date desc) as r,e.*

from emp e

where e.name=』a』 and r<=5)

where r>0

此時顯示的是1-5條資料,因為資料庫是從1開始的。

DB2分頁結果錯亂

以前用的很好的db2分頁程式,突然出現結果錯亂,第一頁中的內容,在第二頁中也出現,檢查原因,發現是因為order by 的字段有重複的值引起的 oracle下同樣會有這個問題 比如 order by sno 如果sno欄位的值有重複的,就會出現這個問題。以前的分頁語句 select from sel...

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...