给你1个无穷大的数据库,如何给他分页?

来源:百度知道 编辑:UC知道 时间:2024/05/26 09:10:23
我如果要查第N页的数据,怎么查?(要用最快速最有效的方法)

在SQL2005中,使用ROW_NUMBER()进行分页,效率极高

DECLARE @pagenum AS INT, @pagesize AS INT
SET @pagenum = 2
SET @pagesize = 10
SELECT *
FROM (SELECT ROW_NUMBER() OVER(ORDER BY newsid DESC) AS rownum,
newsid, 其它字段名 FROM 表名 where 条件) AS D
WHERE rownum BETWEEN (@pagenum-1)*@pagesize+1 AND @pagenum*@pagesize

select * from user where id =n