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中的分页都不陌生: ...
随机推荐
- SQL子连接案例
子查询 何时使用子查询 1. 子查询作为数据源 2. 数据加工 需求:根据不同顾客的所有的账户余额划分区间,进行分组 sql语句实现如下: select 'Small Fry' name , 0 lo ...
- 【神经网络与深度学习】Caffe使用step by step:使用自己数据对已经训练好的模型进行finetuning
在经过前面Caffe框架的搭建以及caffe基本框架的了解之后,接下来就要回到正题:使用caffe来进行模型的训练. 但如果对caffe并不是特别熟悉的话,从头开始训练一个模型会花费很多时间和精力,需 ...
- mysql——触发器——前期整理笔记00
一.触发器 触发器是由事件来出发某个动作.这些事件包括insert语句.update语句和delete语句. 当数据库系统执行这些事件时,就会激活触发器执行相应得动作. 触发器是有insert.upd ...
- Anaconda配置环境变量+创建虚拟环境+pycharm使用虚拟环境
Anaconda配置环境变量+创建虚拟环境 配置环境变量 没有添加系统变量,所有系统根本识别不了conda命令,找不到位置,所以添加以下系统变量: 添加对应Anaconda环境变量:(以自己的安装路径 ...
- Layui数据表格模型
视图模型 package com.meiyou.model; import org.springframework.context.annotation.Bean; import java.io.Se ...
- Python常用库整理
Python常用库整理 Python中到底有哪些库会让程序员爱不释手?以至于一次上瘾,造成永久性伤害(这句话好像在哪里见过),今天我们就来整理一番这样的库,欢迎各位在评论区或者私信我添加或者修改相关库 ...
- PHP post调接口代码
PHP post调接口代码 /** * $url:接口地址 * $data:数组参数 **/ function postData($url, $data) { $ch = curl_init (); ...
- str 小列题
name = " aleX leNb "#2.有变量 完成如下操作: 移除 name 变量对应的值两边的空格,并输出处理结果 name=name.strip() print(nam ...
- allure 这么高大上的测试报告环境,5 分钟搞定
allure 的测试报告是老板喜欢的样子.如果能用上 allure,干嘛还选择其他的测试报告类型呢?python 的 pytest 单元测试框架有 allure 的插件,可以很方便的在 python ...
- 普通交叉验证(OCV)和广义交叉验证(GCV)
普通交叉验证OCV OCV是由Allen(1974)在回归背景下提出的,之后Wahba和Wold(1975)在讨论 了确定多项式回归中多项式次数的背景,在光滑样条背景下提出OCV. Craven和Wa ...