mySql\oracle分頁機制

u014249394發表於2017-02-03
  • 介紹

mySql\oracle分頁機制
  • 參考

    1.MySql中的limit關鍵字 以模糊查詢為例子,limit寫到where子句的後面 select * from user where name like '%mm%' limit startrow,readsize; 其中值得推敲的是startrow和readsize也就是開始和讀取的記錄數 這樣查詢出來的結果集是從startrow行,讀取endsize條記錄,實際上查詢到的結果集是startrow+1到startrow+readsize的結果,這是操作中我們應該注意的,結果集不包括startrow.   2.Oracle中的rownum關鍵字 select name,email from (select rownum rn ,name ,email  from user  where rownum <endrow) t where t.rn>=sartrow 這樣我們就可以得到startrow到endrow結果集,注意結果集合不包括endrow當前行記錄,如果條件子句中不是>=startrow,那麼查詢到的結果集是也不包括startrow當前行記錄。 Oracle中主要用到rownum這個偽欄位,子查詢得到的記錄集包括了一個rownum欄位,由於Oracle中rownum欄位都是從1開始遞增的,查詢到幾條記錄就遞增到幾,所以我們應從後向前擷取要查詢的記錄,並將rownum固定為結果集合的一個欄位,然後再使用外層查詢就可以以結果集的rownum固定住的欄位來利用where子句來操縱記錄了。


檢視原文:http://surenpi.com/2017/02/03/mysqloracle%e5%88%86%e9%a1%b5%e6%9c%ba%e5%88%b6/

相關文章