--假如每页显示条数据10条
--哪么第一页1~10 第二页11~20 即起始行数=10*(页数-1)+1,结束行=页数*10
declare @start int
declare @end int
set @start=8
set @end=18
select * from(
select P_ID,P_ClassName, ROW_NUMBER() OVER(order by P_ID) as row from
dbo.AD_Position)as a
where row between @start and @end
--太酷了,这样一个分页就搞定了。还可以这样变化,可选参数只是[页的大小]
declare @pagesize int
declare @start int
declare @end int
declare @pagecount int
set @pagecount=2
set @pagesize=10
set @start=(@pagesize*(@pagecount-1)+1)
set @end=@pagecount*@pagesize
select * from(
select P_ID,P_ClassName, ROW_NUMBER() OVER(order by P_ID) as row from
dbo.AD_Position)as a
where row between @start and @end
这是前几年的一个博文摘录,希望对你用!