Steven Xiao's blog

远行者需要智慧,更需要耐心! 工欲善其事,必先利其器。 授之鱼,不如授之渔。

博客园 首页 新随笔 联系 订阅 管理

--------------------------------------------------------------------------------

declare @PageIndex as int

declare @PageSize as int

set @PageIndex = 2 --当前的页面索引号
set @PageSize = 10  --每页要显示的记录数

SELECT *
FROM
( SELECT ROW_NUMBER() OVER (ORDER BY uid asc )AS Row,  UserName,TrueName,Email FROM wawa_user ) as tempTable
WHERE Row between (@PageIndex - 1) * @PageSize + 1 and @PageIndex*@PageSize

--------------------------------------------------------------------------------

在sql 2005里增加了 ROW_NUMBER() 函数,作用是: 返回结果集分区内行的序列号,每个分区的第一行从 1 开始。

它的使用方法为:

ROW_NUMBER ( ) OVER ( [ <partition_by_clause> ] <order_by_clause> )

<partition_by_clause>

将 From 子句生成的结果集划入应用了 ROW_NUMBER 函数的分区。

<order_by_clause>

确定将 ROW_NUMBER 值分配给分区中的行的顺序

 

 

 

posted on 2009-03-07 17:04  Steven Xiao  阅读(853)  评论(4编辑  收藏  举报