SQL2005利用ROW_NUMER实现分页的两种常用方式

时间:2022-07-23 20:09:26

代码如下:


  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