主流數據庫的分頁函數

MySQL數據庫:

SELECT  *  FROM  tablename  LIMIT  M-1, N

表示從M開始,向後查詢N條記錄。

如:select  *  from  test  limit  9,20

表示從第10條記錄開始向後查詢20條記錄。

 

Microsoft SQL Server:

SELECT  *  FROM (

      SELECT  Top  N  *  FROM (

          SELECT  Top  (M+N-1)  *  FROM  test  order by  PK  desc) t1 ) t2 ) order by pk asc

如:select  *  from  (

      select  Top 20 * from (

        select top 29 * from test order by PK order by desc ) t1 ) t2 order by PK

表示從第10條開始,查詢20條記錄。

 

Oracle數據庫:

SELECT * FROM (

SELECT ROWNUM r,t1.* FROM tablename t1 where rownum<M+N) t2 where t2.r>=M

如:select * from(

select rownum r,t1.* from test where rownum<30 ) t2 where t2.r>=10

表示從第10條開始,查詢20條記錄。    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章