Wednesday, November 02, 2005 7:57 AM
Just playing around....
declare
@Page int, @PageSize
int
set
@Page = 1;
set
@PageSize = 10;
with
PagedResult
as (select ROW_NUMBER() over
(order by
PersonID) as RowNum, *
from
Table1)
select
* from PagedResult
where RowNum
between
case
when @Page >
1 then (@PageSize
* @Page) - @PageSize + 1
else @Page end
and @PageSize
* @Page
order
by PersonID
[EDITED: For SQL Server 2005 RTM]