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分页的使用相关推荐

  1. MySQL中的limit分页优化

    MySQL中的limit分页优化 MySQL的limit优化 mysql的分页比较简单,只需要limit offset,length就可以获取数据了,但是当offset和length比较大的时候,my ...

  2. 分页的limit_20.MySQL中的LIMIT(分页)

    对于一次性查询出的大量记录,不仅不便于阅读查看,还会浪费系统效率.MySQL中提供了一个关键字LIMIT,可以限定记录的数量,也可以指定查询从哪一条记录开始(通常用于分页). 1.准备 CREATE ...

  3. SqlServer中使用Mysql中的limit分页功能

    子查询得到逆序排列的前PageIndex*PageSize条记录,然后把这PageIndex*PageSize条记录按正序排列得到前PageSize条记录.OK了,这里的前PageSize条记录,实际 ...

  4. oracle里有limit怎么用,[ORACLE]ORACLE 实现mysql中的limit 功能

    [ORACLE]ORACLE 实现mysql中的limit 功能 项目从mysql迁移到ORACLE中遇到移植问题,mysql中支持limit 而ORACLE say no . 解决方法 利用ORAC ...

  5. MySQL中使用LIMIT进行分页的方法

    一:分页需求: 客户端通过传递start(页码),pageSize(每页显示的条数)两个参数去分页查询数据库表中的数据,那我们知道MySql数据库提供了分页的函数limit m,n,但是该函数的用法和 ...

  6. sql server和mysql分页查询_sql server和mysql中分别实现分页功能

    MySQL 在MySQL中,可以用 Limit 来查询第 m 列到第 n 列的记录, 例如: select * from tablename limit m, n sql="select * ...

  7. 【MySQL】MySQL中如何实现分页操作

    MySQL中的分页操作 一. 背景 什么是分页,就是查询时候数据量太大,一次性返回所有查询结果既耗费网络资源.又降低了查询效率,用户也不可能一下子看完成千上万条数据.所以分页的技术就应运而生.分页可以 ...

  8. MySQL中的limit用法详解

    limit的详细用法 1.用于强制返回指定的记录行数 在查询中,经常要返回前几条或者中间某几行数据时,用到limit 语法如下: select * from table_name limit [off ...

  9. postgresql和mysql中的limit使用方法

    文章目录 区别 举例说明 MySQL 中 PostgreSQL 中 区别 在msyql中,limit使用如下 select *from mytable limit a,b 其中:a为起始索引,从0开始 ...

最新文章

  1. 几个比较实用的CSS
  2. 跨链(6)波卡Polkadot “系统框架”
  3. wxWidgets:wxStaticLine类用法
  4. 使用ob_gzhandler函数有3种方法让它对php进行压缩
  5. 通过注册表修改我的文档等系统文件夹默认位置
  6. 电子书下载:Pro ASP.NET MVC2 Framework 2nd
  7. c语言实现循环队列初始化从键盘输入,2017年12月计算机二级考试C语言考前提分卷(2)...
  8. 设计新手最常见的4个问题
  9. oracle蓝屏解决方法,win10系统蓝屏怎么办 蓝屏代码0x000007e的3种解决方法
  10. Oracle扩展redo
  11. GB:香港城市大学孙燕妮组发表高准确度病毒株识别工具VirStrain
  12. Nginx配置中的if判断
  13. (IS 19)wav2vec: Unsupervised Pre-training for Speech Recognition
  14. 梦幻西游服务器维护,《梦幻西游》12月1日维护公告
  15. Windows下设置redis数据库允许远程访问
  16. 修改服务器3389 端口号,修改服务器3389端口为其它端口
  17. c语言程序设计教程中国农业出版社答案,C语言程序设计教程杨路明课后习题答案北京邮电大学出版社.pdf...
  18. shader Cg 基本数据类型
  19. gem是什么证书_gem是什么
  20. 常见客户SEO问题解答:网站关键词优化到底怎么做?

热门文章

  1. 如何让无源蜂鸣器响起来
  2. 十个最好的免费网络硬盘
  3. 2014全国计算机等级考试大纲,2014全国计算机等级考试大纲级.doc
  4. 计算机应用模块等级考试大纲,全国计算机等级考试大纲 年版.doc
  5. 红米k30 android版本,红米K30配置如何 红米K30手机参数配置及图赏
  6. 利用 Google API 调用谷歌地图 演示1
  7. 泰坦尼克号幸存者预测 python 详解
  8. 充电电流用软件测试准吗,充电设备 篇一:一次不严谨的测试,但估计iPhone用户看了都会买...
  9. 怎么从微信群聊中引流?如何从群聊进行引流?微信群怎么引流
  10. 梦兴阁给我生活带来的改变