复制代码 代码如下:
declare @PageNumber int
declare @PageSize int
set @PageNumber=2
set @PageSize=20
--利用between
select *
from
(
select
row_number() over (order by source_ip,id) as row_num,
* from tb) as page_table
where row_num between (@PageNumber - 1) * @PageSize + 1 and @PageNumber * @PageSize
--利用top方式
select top 20 *
from
(
select
row_number() over (order by source_ip,id) as row_num,
* from tb
) as page_table
where row_num > (@PageNumber - 1) * @PageSize
order by row_num
[/code]
【SQL2005 ROW_NUMER实现分页的两种常用方式】相关文章:
★ SQL Server CROSS APPLY和OUTER APPLY的应用详解
★ SQLSERVER 2005的ROW_NUMBER、RANK、DENSE_RANK的用法
★ MS-SQL Server 2005 其中三个版本的比较
★ SQL 2005 ERROR:3145 解决办法(备份集中的数据库备份与现有的数据库不同)
★ SQL Server 2008 数据库中创建只读用户的方法