--------------------------------------------------------------------------------
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 值分配给分区中的行的顺序