Mysql與Oracle分頁的區別詳解

mysql使用limit分頁而oracle使用rownum分頁,下面通過本文給大家介紹oraclemysql分頁的區別,需要的的朋友參考下吧

一、Mysql使用limit分頁

select?*?from?stu?limit?m,?n;?//m?=?(startPage-1)*pageSize,n?=?pageSize

PS:

(1)第一個參數值m表示起始行,第二個參數表示取多少行(頁面大小)

(2)m= (2-1)*10+1,n=10 ,表示 limit 11,10從11行開始,取10行,即第2頁數據。

(3)m、n參數值不能在語句當中寫計算表達式,寫到語句之前必須計算好值。

二、Oracle使用rownum分頁

select?*?from?(  select?rownum?rn,a.*?from?table_name?a?where?rownum?=?y;?//起始行,y?=?(startPage-1)*pageSize+1

PS:

(1)>= y,

(2)rownum只能比較小于,不能比較大于,因為rownum是先查詢后排序的,例如你的條件為rownum>1,當查詢到第一條數據,rownum為1,則不符合條件。第2、3…類似,一直不符合條件,所以一直沒有返回結果。所以查詢的時候需要設置別名,然后查詢完成之后再通過調用別名進行大于的判斷。

總結

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享