SQL Server 高效分页,没有比这更好的了!
-- @PageNo : 第几页-- @PageSize : 一页的记录数
-- 演示在表 dbo.HotTable 上进行分页的方法。其中 ID 为主键。
declare @PageNo int
,@PageSize int
set @PageNo = 1
set @PageSize = 10
if @PageNo = 1 begin
select top(@PageSize) * from dbo.HotTable order by ID
end
else begin
select top(@PageSize) *
from dbo.HotTable
where ID > (select max(ID)
from (select top (@PageNo * @PageSize) *
from dbo.HotTable
order by ID
) T
)
order by ID
end
以上代码很简单,只是用于演示 SQL Server 分页的原理,你可以构造满足你需求的更复杂的分页存储过程。另外以上 SQL 分页代码在 SQL Server 2005 中运行通过。你可以修改下,用于 SQL Server 的其他版本。
页:
[1]