几种SQL分页语句的写法。

--@pagesize (每页行数) @pageindex(当前页数)
--1.分页方案一:(利用Not In和SELECT TOP分页) 
--语句形式: 
SELECT TOP @pagesize * FROM 表名 WHERE 
(ID NOT IN (SELECT TOP (@pagesize*(@pageindex-1)) ID FROM 表名 ORDER BY ID)) 
ORDER BY ID 
--自己还可以加上一些查询条件 

--2.分页方案二:(利用ID大于多少和SELECT TOP分页) 
--语句形式: 
SELECT TOP @pagesize * FROM 表名 WHERE 
(ID > (SELECT MAX(id) FROM (SELECT TOP @pagesize*@pageindex id FROM 表名 ORDER BY id) AS T)) 
ORDER BY ID 

--3分页方案三 (利用ROW_NUMBER()函数分页)
select * from 
(select (ROW_NUMBER() OVER(ORDER BY A.id) as rownum),A.* from (select id,字段1,字段2 from 表名)as A)as B 
where B.rownum between @pagesize*(@pageindex-1)+1 and @pagesize*@pageindex
posted @ 2012-05-15 16:24  Alex.Net  阅读(247)  评论(0)    收藏  举报