sql分页查询语句 首页,上一页怎么实现

2025-03-04 22:26:40
推荐回答(1个)
回答1:

--假如每页显示条数据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

这是前几年的一个博文摘录,希望对你用!