sql分页

对于一些存在大量数据的大型网站来说,分页显示的确令人头痛,如果处理不当,将会带来服务器以及资源的浪费。

当然不同的人会有不同的解决方案,不过我就经常用到分页查询SQL语句去做,每页显示多少条就去数据库提取多少条。这样不但节省资源的浪费,也可以减轻数据库的负担。

思路以及实现方法,适用于SQL等一些常用数据库:

m:代表总记录数(m>0)
n:代表每页显示N条记录(n>0)
page:代表当前页(page从0开始)

求总页数:(m%n)==0?(m/n):(m/n+1);

SQL语句的实现:

select top n * from 表名 where id not in(select top (n*page) id from 表名 order by 排序) order by 排序

eg:

select top 5 * from Messages where MessageId not in(select top (5*2) MessageId
from Messages order by MessageDate desc) order by MessageDate desc

这样就实现了分页处理

转载于:https://www.cnblogs.com/zhan-shuai/p/4990965.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值