sql server 2005 中的利用ROW_NUMBER() 解决数据分页问题

sql server 2000如果要分页需要提供主键字段.然后组织页大小和页数.

sql server 2005 提供了 ROW_NUMBER() 使分页容易很多.

如下:


declare   @pagesize   int  
declare   @pagenumber   int  

Select   *   FROM  (
    
select  ROW_NUMBER() Over ( order   by  cf_id  desc as  rowId, *   from  T_Test 
as  mytable
where  rowId  between   @pagesize * ( @pagenumber - 1 ) + 1   and   @pagesize * @pagenumber

-- 例子应用(求某一个表第二页数据.每页显示20条记录)

declare   @pagesize   int  
declare   @pagenumber   int  
set   @pagesize   = 20
set   @pagenumber   = 2
Select   *   FROM  (
    
select  ROW_NUMBER() Over ( order   by  cf_id  desc as  rowId, *   from  T_Test 
as  mytable
where  rowId  between   @pagesize * ( @pagenumber - 1 ) + 1   and   @pagesize * @pagenumber

 

你可能感兴趣的:(sql server 2005 中的利用ROW_NUMBER() 解决数据分页问题)