您好,登錄后才能下訂單哦!
小編給大家分享一下oracle和mysql分頁的方法有什么不同,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
oracle和mysql分頁的區別:
一、MySQL使用limit分頁
MySQL 分頁 (利用LIMIT關鍵字) 計算參數為 開始序號(startNum),要查的總條數 (totalNum)
select * from stu limit m, n; //m = (startPage-1)*pageSize,n = pageSize
(1)第一個參數值m表示起始行,第二個參數表示取多少行(頁面大小)
(2)m= (2-1)*10+1,n=10 ,表示 limit 11,10從11行開始,取10行,即第2頁數據。
(3)m、n參數值不能在語句當中寫計算表達式,寫到語句之前必須計算好值。
二、Oracle使用rownum分頁
Oracle 分頁 (利用自帶的rownum) 計算參數為 開始序號(startNum) , 結束序號 (endNum)
select * from ( select rownum rn, a.* from ( select * from table_name order by XXX ) a where ruwnum <= y // 結束行,y = startPage*pageSize ) where rn > x; // 起始行,x = (startPage-1)*pageSize
注:rownum只能比較小于,不能比較大于,因為rownum是先查詢后排序的,例如你的條件為rownum>1,當查詢到第一條數據,rownum為1,則不符合條件。第2、3...類似,一直不符合條件,所以一直沒有返回結果。所以查詢的時候需要設置別名,然后查詢完成之后再通過調用別名進行大于的判斷。
或者也可以直接寫成
select * from ( select rownum rn, a.* from ( select * from table_name order by XXX ) a ) where rn > x and rn <= y; // x = (startPage-1)*pageSize, y = startPage*pageSize
看完了這篇文章,相信你對oracle和mysql分頁的方法有什么不同有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。