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中的分页都不陌生: ...
随机推荐
- python基础语法之集合set
1 概念 集合是一个无需的,不重复的数组组合,它的主要作用如下: 去重,将一个列表装换成集合,会将其去重 关系测试,测试两组数据的交集,差集,并集等关系. 集合对象是一组无需排列的可哈希的值,集合成员 ...
- 在子类中,若要调用父类中被覆盖的方法,可以使用super关键字
在子类中,若要调用父类中被覆盖的方法,可以使用super关键字. package text; class Parent { int x; public Parent() { ...
- JNDI的初步理解
1.JDNI是什么意思? 答:JNDI是 java naming and directory interface 的缩写,是j2ee开发中的一种重要的规范 2.JNDI有什么用? 答:如果没有JNDI ...
- [ZJOI2008]骑士 题解
题面 这道题稍微想一想就会联想到树形DP的入门题:没有上司的舞会: 但是再想一想会发现这根本就不是一颗树,因为它比树多了一条边: 这时候我们引入一个新的概念:基环树: 顾名思义(??),基环树就是在一 ...
- LOJ 10214 计算器 题解
题面 k==1时,快速幂就好了: k==2时,exgcd就好了,但要注意取模范围的控制: k==3时,BSGS可以解决高次同余方程: 然后就可以开心的A掉了,但要注意特殊情况的特判 #include ...
- VS Code Python 全新发布!Jupyter Notebook 原生支持终于来了!
VS Code Python 全新发布!Jupyter Notebook 原生支持终于来了! 北京时间 2019 年 10 月 9 日,微软发布了全新的 VS Code Python 插件,带来了众多 ...
- 如何导入GitHub下的vue项目 并启动
如何运行 下载的GitHub项目 一 准备工作: Node.js环境(npm包管理器) vue-cli 脚手架构建工具 cnpm npm的淘宝镜像 二 安装node.js 略 cmd 输入node ...
- 请求转发forward()和URL重定向redirect()的区别
- react中父组件给子组件传值
子组件 state = { msg: 'a' } render(){ return<h1>{this.state.msg}</h1> } setInfo = (val)=> ...
- WebApi 生成帮助文档及顺便创建简单的测试工具
http://www.2cto.com/kf/201607/522971.html ==========最终的效果图========== ==========下面开始干活========== 一.创建 ...