MySQL中的limit分页的使用
SQL准备
create table tb_students (id int auto_increment primary key comment '主键ID',studentid char(9) unique not null comment '学生学号',name varchar(10) not null comment '学生姓名',gender char(1) not null comment '学生性别'
) comment '学生表';insert into tb_students (studentid , name , gender)
values ('202302301' , '海绵宝宝' , '男'),('202302302' , '胡图图' , '男'),('202302303' , '小福贵' , '男'),('202302304' , '大头儿子' , '男'),('202302305' , '三毛' , '男' ),('202302306' , '柯南' , '男'),('202302307' , '凌美琪' , '女'),('202302308' , '凌美雪' , '女'),('202302309' , '孙悟空' , '男'),('202302310' , '猪八戒' , '男'),('202302311' , '沙和尚' , '男'),('202302312' , '唐僧' , '男'),('202302313' , '林黛玉' , '女'),('202302314' , '贾宝玉' , '男'),('202302315' , '奥特曼' , '男'),('202302316' , '汤姆' , '男'),('202302317' , '杰瑞' , '男'),('202302318' , '朵拉' , '女'),('202302319' , '一休' , '男'),('202302320' , '米老鼠' , '男'),('202302321' , '唐老鸭' , '男'),('202302322' , '哆啦A梦' , '男'),('202302323' , '成龙' , '男'),('202302324' , '小玉' , '女'),('202302325' , '加菲猫' , '男'),('202302326' , '喜羊羊' , '男'),('202302327' , '灰太狼' , '男'),('202302328' , '虹猫' , '男'),('202302329' , '蓝兔' , '女'),('202302330' , '洛洛' , '男');
这里面有你们喜欢的角色吗?
没错,我也喜
...
按照我的理解,我把他分为这两部分来进行讲解
第一部分:查询指定分页语句
limit 带一个参数
语法:limit 每页显示记录数;
需求1:查询第一页前 5 行的记录
解析:第一页要展示 5 条数据,写个 5 就行了。
SQL 编写:
select * from tb_students limit 5;
查询结果如下:
limit 带二个参数
语法:limit 起始索引,每页显示记录数;
起始索引 = 起始索引 - 1
注意:起始索引都是从 0 开始的。
需求 2:查询第一页 1 - 5 行的记录(跟需求 1 的是一样的题目,只是带了两个参数)
解析:
limit 第一个参数(起始索引):
起始索引 = 起始索引 - 1 ,那就是 1 - 1 = 0;
limit 第二个参数(每页显示记录数):
显示 5 行记录,那就是 5。
SQL 编写:
select * from tb_students limit 0,5;
查询结果如下:
提示:如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 每页查询记录数,就比如需求 2 的 SQL 可以直接写成需求 1 的,效果都是一样的;可以直接简写成 limit 5。
需求3:查询第 7 行的记录,显示 2 行记录
解析:
limit 第一个参数(起始索引):
起始索引 = 起始索引 - 1 ,那就是 7 - 1 = 6;
limit 第二个参数(每页显示记录数):
显示 2 行记录,那就是 2。
SQL 编写:
select * from tb_students limit 6, 2;
查询结果如下:
另一种写法:
语法:limit 每页显示记录数 offset 起始索引;
起始索引 = 起始索引 - 1
用法和带两个参数的 limit 一样;只有语法上的区别:起始索引 和 每页显示记录数 顺序调换了,“,” 号换成了 offset。
SQL 编写:
select * from tb_students limit 2 offset 6;
得到的执行结果如下:
第二部分:显示固定分页语句
语法:limit 起始索引,每页显示记录数;
起始索引 = (查询页码 - 1)* 每页显示记录数
注意:分页的第一页数据不参与起始索引计算。
需求:固定每页展示 5 条记录,求 1 - 3 页的记录
第一页(不参与起始索引的计算)
SQL编写:
select * from tb_students limit 0,5;-- 显示 1 - 5 行记录
查询结果如下:
第二页
解析:
limit 第一个参数(起始索引):
根据公式:起始索引 =(查询页码 - 1)* 每页显示记录数
因为是查询第二页的数据,所以查询页码是 2,然后 2 还要去 - 1,得出:(2 - 1) = 0;
再 * 每页显示记录数,每页展示记录数为 5,得出最终结果: 0 * 5 = 5;
起始索引的值为 5。
limit 第二个参数(每页显示记录数):
根据需求得出:每页展示记录数为 5。
SQL编写:
select * from tb_students limit 5,5;-- 显示 6 - 10 行记录
查询结果如下:
第三页
解析:
limit 第一个参数(起始索引):
根据公式:起始索引 =(查询页码 - 1)* 每页显示记录数
因为是查询第三页的数据,所以查询页码是 3,然后 3 还要去 - 1,得出:(3 - 1) = 2;
再 * 每页显示记录数,每页展示记录数为 5, 2 * 5 = 10;
起始索引的值为 10。
limit 第二个参数(每页显示记录数):
根据需求得出:每页展示记录数为 5。
SQL编写:
select * from tb_students limit 10,5;-- 显示 11 - 15 行记录
查询结果如下:
完整SQL:
select * from tb_students limit 0,5;-- 显示 1 - 5 行记录
select * from tb_students limit 5,5;-- 显示 6 - 10 行记录
select * from tb_students limit 10,5;-- 显示 11 - 15 行记录
如果要查询第四页、第五页、第六页......的数据,按照这个公式,以此类推。。。
如果学会了,来做一下练习吧!!!
需求:固定每页展示 10 条记录,求 1 - 3 页的记录
select * from tb_students limit ?;
select * from tb_students limit ?;
select * from tb_students limit ?;
做完看答案:
✿
✿
✿
✿
✿
✿
✿
✿
✿
✿
select * from tb_students limit 0,10;-- 显示 1 - 10 行记录
select * from tb_students limit 10,10;-- 显示 11 - 20 行记录
select * from tb_students limit 20,10;-- 显示 20 - 30 行记录
完。。。
MySQL中的limit分页的使用相关推荐
- MySQL中的limit分页优化
MySQL中的limit分页优化 MySQL的limit优化 mysql的分页比较简单,只需要limit offset,length就可以获取数据了,但是当offset和length比较大的时候,my ...
- 分页的limit_20.MySQL中的LIMIT(分页)
对于一次性查询出的大量记录,不仅不便于阅读查看,还会浪费系统效率.MySQL中提供了一个关键字LIMIT,可以限定记录的数量,也可以指定查询从哪一条记录开始(通常用于分页). 1.准备 CREATE ...
- SqlServer中使用Mysql中的limit分页功能
子查询得到逆序排列的前PageIndex*PageSize条记录,然后把这PageIndex*PageSize条记录按正序排列得到前PageSize条记录.OK了,这里的前PageSize条记录,实际 ...
- oracle里有limit怎么用,[ORACLE]ORACLE 实现mysql中的limit 功能
[ORACLE]ORACLE 实现mysql中的limit 功能 项目从mysql迁移到ORACLE中遇到移植问题,mysql中支持limit 而ORACLE say no . 解决方法 利用ORAC ...
- MySQL中使用LIMIT进行分页的方法
一:分页需求: 客户端通过传递start(页码),pageSize(每页显示的条数)两个参数去分页查询数据库表中的数据,那我们知道MySql数据库提供了分页的函数limit m,n,但是该函数的用法和 ...
- sql server和mysql分页查询_sql server和mysql中分别实现分页功能
MySQL 在MySQL中,可以用 Limit 来查询第 m 列到第 n 列的记录, 例如: select * from tablename limit m, n sql="select * ...
- 【MySQL】MySQL中如何实现分页操作
MySQL中的分页操作 一. 背景 什么是分页,就是查询时候数据量太大,一次性返回所有查询结果既耗费网络资源.又降低了查询效率,用户也不可能一下子看完成千上万条数据.所以分页的技术就应运而生.分页可以 ...
- MySQL中的limit用法详解
limit的详细用法 1.用于强制返回指定的记录行数 在查询中,经常要返回前几条或者中间某几行数据时,用到limit 语法如下: select * from table_name limit [off ...
- postgresql和mysql中的limit使用方法
文章目录 区别 举例说明 MySQL 中 PostgreSQL 中 区别 在msyql中,limit使用如下 select *from mytable limit a,b 其中:a为起始索引,从0开始 ...
最新文章
- 几个比较实用的CSS
- 跨链(6)波卡Polkadot “系统框架”
- wxWidgets:wxStaticLine类用法
- 使用ob_gzhandler函数有3种方法让它对php进行压缩
- 通过注册表修改我的文档等系统文件夹默认位置
- 电子书下载:Pro ASP.NET MVC2 Framework 2nd
- c语言实现循环队列初始化从键盘输入,2017年12月计算机二级考试C语言考前提分卷(2)...
- 设计新手最常见的4个问题
- oracle蓝屏解决方法,win10系统蓝屏怎么办 蓝屏代码0x000007e的3种解决方法
- Oracle扩展redo
- GB:香港城市大学孙燕妮组发表高准确度病毒株识别工具VirStrain
- Nginx配置中的if判断
- (IS 19)wav2vec: Unsupervised Pre-training for Speech Recognition
- 梦幻西游服务器维护,《梦幻西游》12月1日维护公告
- Windows下设置redis数据库允许远程访问
- 修改服务器3389 端口号,修改服务器3389端口为其它端口
- c语言程序设计教程中国农业出版社答案,C语言程序设计教程杨路明课后习题答案北京邮电大学出版社.pdf...
- shader Cg 基本数据类型
- gem是什么证书_gem是什么
- 常见客户SEO问题解答:网站关键词优化到底怎么做?
热门文章
- 如何让无源蜂鸣器响起来
- 十个最好的免费网络硬盘
- 2014全国计算机等级考试大纲,2014全国计算机等级考试大纲级.doc
- 计算机应用模块等级考试大纲,全国计算机等级考试大纲 年版.doc
- 红米k30 android版本,红米K30配置如何 红米K30手机参数配置及图赏
- 利用 Google API 调用谷歌地图 演示1
- 泰坦尼克号幸存者预测 python 详解
- 充电电流用软件测试准吗,充电设备 篇一:一次不严谨的测试,但估计iPhone用户看了都会买...
- 怎么从微信群聊中引流?如何从群聊进行引流?微信群怎么引流
- 梦兴阁给我生活带来的改变