MSSQL 分页查询的两种方法

一 使用 not  in  和 top关键字实现分页

  1  查询recharge表里的第1页的数据,每页2条数据

-----使用top ,in关键字实现分页(recharge共5条数据,每页两条数据)
select top 2 * from recharge -- 第一页的数据

2  查询recharge表里第二页的数据,每页2条数据

select  top 2 * from recharge ---第二页的数据 (去除第一页数据后,再取出前两条数据)          
where id not in (select top 2 id from recharge) --去除第一页的数据


3 查询recharge表里的第三页的数据,每页2条数据(由于第三页只有一条数据所以只会显示1条数据)

select top 2 * from recharge ---第三页的数据(去除第一页和第二页数据后,再取出前两条数据)
where id not in (select top 4 id from recharge)



二使用 ROW_NUMBER() OVER()函数分页

  ROW_NUMBER() OVER() 会给表增加一个序号列


1 查询第一页

select * from 
(
select ROW_NUMBER() OVER(order by id) as row_number,* from recharge
)as t
where t.row_number between 1 and 2

2 查询第二页

select * from
(
select ROW_NUMBER() OVER(order by id) as row_number,* from recharge
)as t
where t.row_number between 3 and 4




3 查询第三页

select * from
(
select ROW_NUMBER() OVER(order by id) as row_number,* from recharge
)as t
where t.row_number between 5 and 7





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值