各种DB的SQL分页(搜集资料)

  这两天同事和我提起SQL端分页的问题,突然发现N久不考虑这东西了,回想回想居然敲不出来了,赶紧上网找找,记录以下。

  Oracle的SQL分页<经典的三层>:

  

View Code
select * from

(select a.*,rownum row_num from

(select * from mytable t order by t.id desc) a

) b where b.row_num between 1 and 10

  

  SQL Server的SQL分页<结合SQLServer2005以上的版本新加的Row_Number()>:

  

View Code
 SELECT   *   FROM 
(
SELECT ROW_NUMBER() OVER ( ORDER BY t.ID) ROWNUM, * FROM table_1 t
) CAL
WHERE ROWNUM BETWEEN ( PAGE_SIZE* PAGE ) + 1 AND PAGE_SIZE * PAGE
ORDER BY DATE ASC

  

  My Sql 的SQL分页<limit>

View Code
SELECT * FROM table  LIMIT [offset,] rows | rows OFFSET offset

  

  当然还有很多其他的分页方式,可用得场景也不同,这里只是记录以下本人比较感兴趣的方式。

posted @ 2011-11-03 11:09  liver.wang  阅读(260)  评论(0编辑  收藏  举报