SQL limit(分页)
1.limit使用
limit参数,第一个参数:从哪儿开始查;第二个参数:查几条
- i : 为查询结果的索引值(默认从0开始);
- n : 为查询结果返回的数量
-- 从3开始 取 3 条 SELECT * from employee LIMIT 3,3;
LIMIT 0,3
2.分页思路
下面是几种limit的方法:原则看看下面几个例子应该就懂了
在数据库中很多地方都会用到,比如当你数据库查询记录有几万、几十万时使用limit查询效率非常快,只需要查询出你需要的数据就可以了·再也不用全表查询导致查询数据库崩溃的情况。
select * from Customer LIMIT 10;--检索前10行数据,显示1-10条数据
select * from Customer LIMIT 1,10;--检索从第2行开始,累加10条id记录,共显示id为2....11
select * from Customer limit 5,10;--检索从第6行开始向前加10条数据,共显示id为6,7....15
select * from Customer limit 6,10;--检索从第7行开始向前加10条记录,显示id为7,8...16
示例:
1)查询student的数据:
select * from student
查询第一条数据
select * from student limit 1
查询第二条数据
select * from student limit 1,1
反例
追加:
select * from Customer limit 10,5;--检索从第10行开始向前加5条数据,共显示id为11,12...15
官方
1. SQL LIMIT子句简介
要检索查询返回的行的一部分,请使用LIMIT
和OFFSET
子句。 以下说明了这些子句的语法:


本教程我们将演示如何使用SQL LIMIT
子句来限制SELECT
语句返回的行数。
1. SQL LIMIT子句简介
要检索查询返回的行的一部分,请使用LIMIT
和OFFSET
子句。 以下说明了这些子句的语法:

在这个语法中,
row_count
确定将返回的行数。OFFSET
子句在开始返回行之前跳过偏移行。OFFSET
子句是可选的。 如果同时使用LIMIT
和OFFSET
子句,OFFSET
会在LIMIT
约束行数之前先跳过偏移行。
在使用LIMIT
子句时,使用ORDER BY
子句确保返回的行按指定顺序非常重要。
LIMIT
子句,因此,LIMIT
子句仅在某些数据库系统中可用,例如MySQL,PostgreSQL,SQLite,Sybase SQL Anywhere和HSQLDB//原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/sql/sql-limit.html 1. SQL LIMIT子句示例

以下语句返回employees
表中按first_name
列排序的所有行。
执行上面查询语句,得到以下结果 -
如果要只返回前5
行,请使用LIMIT
子句,如以下语句。
执行上面查询语句,得到以下结果 -
要跳过两行并获取接下来的五行,请使用LIMIT
和OFFSET
子句,如以下语句所示。
结果如下图所示 -
如果使用的是MySQL,则可以使用LIMIT OFFSET
子句的较短形式。
2. 使用SQL LIMIT获取具有最高或最低值的前N行
可以使用LIMIT
子句获取具有最高或最低值的前N行。 例如,以下声明获得薪资最高的前五名员工。
执行上面示例代码,得到以下结果 -
LIMIT OFFSET
子句,如下所示。
ORDER BY
子句按工资降序对员工进行排序。 LIMIT 1 OFFSET 1
子句从结果集中获取第二行。
此查询的假设是每个员工都有不同的薪水。 如果有两名员工拥有相同的最高薪水,那么它将会失败。 此外,如果有两个或更多具有相同第二高薪的员工,则查询只返回第一个。
要解决此问题,可以使用以下语句首先获得第二高薪。
ORDER BY
子句按工资降序对员工进行排序。 LIMIT 1 OFFSET 1
子句从结果集中获取第二行。
此查询的假设是每个员工都有不同的薪水。 如果有两名员工拥有相同的最高薪水,那么它将会失败。 此外,如果有两个或更多具有相同第二高薪的员工,则查询只返回第一个。
要解决此问题,可以使用以下语句首先获得第二高薪。
执行上面示例代码,得到以下结果 -
并将结果传递给另一个查询:
结果如下所示 -
如果使用子查询,则可以将两个查询组合到单个查询中,如下所示:
结果如下所示 -
SQL LIMIT
和OFFSET
子句,这些子句用于限制查询返回的行数。
延伸阅读:https://www.runoob.com/sqlite/sqlite-limit-clause.html
https://www.yiibai.com/sql/sql-limit.html
SQL limit(分页)的更多相关文章
- 正确使用索引(sql优化),limit分页优化,执行计划,慢日志查询
查看表相关命令 - 查看表结构 desc 表名- 查看生成表的SQL show create table 表名- 查看索引 show index from 表名 使用索引和不使用索引 由 ...
- mysql limit分页查询效率
对于有大数据量的mysql表来说,使用LIMIT分页存在很严重的性能问题. 查询从第1000000之后的30条记录: SQL代码1:平均用时6.6秒 SELECT * FROM `cdb_posts` ...
- mysql通过“延迟关联”进行limit分页查询优化的一个实例
最近在生产上遇见一个分页查询特别慢的问题,数据量大概有200万的样子,翻到最后一页性能很低,差不多得有4秒的样子才能出来整个页面,需要进行查询优化. 第一步,找到执行慢的sql,如下: SELECT ...
- 第二百八十八节,MySQL数据库-索引、limit分页、执行计划、慢日志查询
MySQL数据库-索引.limit分页.执行计划.慢日志查询 索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获 ...
- 在MySQL中如何使用覆盖索引优化limit分页查询
背景 今年3月份时候,线上发生一次大事故.公司主要后端服务器发生宕机,所有接口超时.宕机半小时后,又自动恢复正常.但是过了2小时,又再次发生宕机. 通过接口日志,发现MySQL数据库无法响应服务器.在 ...
- MySQL---正确使用索引、limit分页、执行计划、慢日志查询
正确使用索引 数据库表中添加索引后确实会让查询速度起飞,但前提必须是正确的使用索引来查询,如果以错误的方式使用,则即使建立索引也会不奏效.即使建立索引,索引也不会生效: - like '%xx' se ...
- Oracle/MySql/SQL Sqlserver分页查询
简述 简单概括一下Oracle,MySql,SQL Sqlserver这三个数据库的分页查询语句. Oracle分页查询 例:每页显示两条数据,现在要查询第二页,也就是第3-4条数据. 查询语句: s ...
- [MySQL] LIMIT 分页优化
背景:LIMIT 0,20 这种分页方式,随着 offset 值的不断增大,当达到百万级时,一条查询就需要1秒以上,这时可以借助索引条件的查询来优化. SQL:select * from member ...
- 解决hibernate对Sql Server分页慢的问题
一.hibernate分页 hibernate对MsSql的伪分页 分页是web项目中比不可少的一个功能,数据量大的时候不能全部展示必然要用到分页技术.相信大家对hibernate中的分页都不陌生: ...
随机推荐
- 1.2.2 OSI参考模型 下
[今天打酱油了,纯抄书.OSI太重要,不敢随便乱写.] 一.开放系统互联参考模型 答:20世纪80年代初,ISO提出来著名的开放系统互联参考模型[Open Systems Interconnectio ...
- es5实现数组去重
var a = [1, 2, 4, 4, 3, 3, 1, 5, 3] console.log(a.filter((item, index, arr) => { return arr.index ...
- mysql标准规范
一.基础规范 表存储引擎必须使用InnoDB 表字符集默认使用utf8,必要时候使用utf8mb4 解读: (1)通用,无乱码风险,汉字3字节,英文1字节 (2)utf8mb4是utf8的超集,有存储 ...
- Oracle精讲视频课程【价值1.67万】
ke程链接 https://edu.51cto.com/center/course/lesson/index?id=14443 课程大纲: 0_Oracle学习路线分析(Oracle学习必读)[免费试 ...
- Maven - Maven3实战学习笔记(2)坐标和依赖
1.maven坐标元素 maven坐标元素包括:groupId.artifactId.version.packaging.classifier. classifier:定义输出的附属构件.groupI ...
- C++ Primer: 1. 初识输入和输出
C++没有定义任何的输入和输出语句,而是使用了 标准库来提供IO机制---iostream; 标准库iostream定义了4种不同的IO对象: cin: 标准输入对象:instream类型的对 ...
- WAMP中的mysql设置密码
为WAMP中的mysql设置密码密码 WAMP安装好后,mysql密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作. 1.首先,通过WAMP打开mysql控制台. ...
- 2018-2019 ICPC, NEERC, Southern Subregional Contest (codeforces 1070)
A. 直接从状态(0,0)bfs, 这样一定是最小的 #include <iostream> #include <sstream> #include <algorithm ...
- ReactNative: Android与iOS平台兼容处理
方法一: 创建不同的文件扩展名:*.android.js*.io.js 方法二: import { Platform } from 'react-native'; if (Platform.OS == ...
- ckfinder的使用
引入<script type="text/javascript" src="${ctxStatic}/ckfinder/ckfinder.js">& ...