当前位置: 首页 > news >正文

SQL中limit与分页的结合

select * from test limit 2,10;

这条语句的含义:从第3条语句开始查询,共显示10条语句。

select * from test limit a,b;

a=0,第一条记录。

a=1,第二条记录。

a=2,第三条记录。 

这条语句的含义:从第a+1条语句开始查询,共显示b条语句。 

如果共有Record_num条数据,希望分页显示

每页rnpp条数据,共page_num页,最后一页记录数为lprn。

Record_num=page_num*rnpp+lprn;

已知Record_num,rnpp。

lprn=Record_num%rnpp;
if(lprn==0){page_num=Record_num/rnpp;}
else {page_num=Record_num/rnpp+1;}

现在我想要获取第now_page页的相应数据,如何使用SQL表示?

思考:

相应数据从第几条记录开始,共有多少条?

设相应数据从第c条记录开始,共有b条。

第一页的第一条数据:c=1

第二页的第一条数据:c=1+rnpp;

第三页的第一条数据:c=1+rnpp*2;

第now_page页的第一条数据:c=1+rnpp*(now_page-1);

第now_page页共有多少数据呢?

分情况讨论:

(1)lprn=0,即每一页都有rnpp条数据。

(2)lprn!=0,前page_num-1页都有rnpp条数据,最后一页数据为lprn。

if(lprn==0)b=rnpp;
else{if(now_page==page_num)b=lprn;else b=rnpp;
}

最后的相关SQL语句:

a=c-1;
select * from test limit a,b;

 

http://www.lryc.cn/news/255755.html

相关文章:

  • KALI LINUX信息收集
  • 联想电脑重装系统Win10步骤和详细教程
  • PET(Point-Query Quadtree for Crowd Counting, Localization, and More)
  • NgRx中dynamic reducer的原理和用法?
  • 麒麟V10服务器安装Apache+PHP
  • DOS 批处理 (一)
  • P1047 [NOIP2005 普及组] 校门外的树题解
  • pip的常用命令
  • 力扣面试题 08.12. 八皇后(java回溯解法)
  • 2023年第十二届数学建模国际赛小美赛A题太阳黑子预测求解分析
  • jsp 分页查询展示,实现按 上一页或下一页实现用ajax刷新内容
  • 基于ssm在线云音乐系统的设计与实现论文
  • 简谈PostgreSQL的wal_level=logic
  • 自动化巡检实现方法 (一)------- 思路概述
  • mysql获取时间异常
  • 维基百科文章爬虫和聚类:高级聚类和可视化
  • springboot智慧导诊系统源码:根据患者症状匹配挂号科室
  • Shell脚本如何使用 for 循环、while 循环、break 跳出循环和 continue 结束本次循环
  • n个人排成一圈,数数123离队
  • 深度学习基础回顾
  • 【Vue】修改组件样式并动态添加样式
  • GO设计模式——12、外观模式(结构型)
  • 一.初始typescript
  • mp3的播放
  • mixamo根动画导入UE5问题:滑铲
  • 容器资源视图隔离 —— 筑梦之路
  • 浅析嵌入式GUI框架-LVGL
  • Unity 关于SetParent方法的使用情况
  • Linux系统上RabbitMQ安装教程
  • ES通过抽样agg聚合性能提升3-5倍