MySQL LIMIT:限制查询结果的记录条数
基本的语法格式如下:
LIMIT [ 位置偏移量 ,] 行数
LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。
第一个参数 位置偏移量 指示 MySQL 从哪一行开始显示,是一个可选参数,如果不指定 位置偏移量 ,将会从表中的第一条记录开始(第一条记录的位置偏移量是 0,第二条记录的位置偏移量是 1,以此类推);第二个参数 行数 指示返回的记录条数。
【实例 1】显示 tb_students_info 表查询结果的前 4 行,输入的 SQL 语句和执行结果如下所示。
mysql SELECT * FROM tb_students_info LIMIT 4; +----+-------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+-------+---------+------+------+--------+------------+ | 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 | | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 | | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 | | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | +----+-------+---------+------+------+--------+------------+ 4 rows in set (0.00 sec)
由结果可以看到,该语句没有指定返回记录的 位置偏移量 参数,显示结果从第一行开始, 行数 参数为 4,因此返回的结果为表中的前 4 行记录。
若指定返回记录的开始位置,则返回结果为从 位置偏移量 参数开始的指定行数, 行数 参数指定返回的记录条数。
【实例 2】在 tb_students_info 表中,使用 LIMIT 子句返回从第 4 条记录开始的行数为 5 的记录,输入的 SQL 语句和执行结果如下所示。
mysql SELECT * FROM tb_students_info LIMIT 3,5; +----+-------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+-------+---------+------+------+--------+------------+ | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 | | 6 | John | 2 | 21 | M | 172 | 2015-11-11 | | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 | | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 | +----+-------+---------+------+------+--------+------------+ 5 rows in set (0.00 sec)
由结果可以看到,该语句指示 MySQL 返回从第 4 条记录行开始的之后的 5 条记录,第一个数字 3 表示从第 4 行开始(位置偏移量从 0 开始,第 4 行的位置偏移量为 3),第二个数字 5 表示返回的行数。
所以,带一个参数的 LIMIT 指定从查询结果的首行开始,唯一的参数表示返回的行数,即 LIMIT n 与 LIMIT 0,n 等价。带两个参数的 LIMIT 可返回从任何位置开始的指定行数的数据。
返回第一行时,位置偏移量是 0。因此, LIMIT 1,1 返回第 2 行,而不是第 1 行。
注意:MySQL 5.7 中可以使用 LIMIT 4 OFFSET 3 ,意思是获取从第5条记录开始的后面的3条记录,和 LIMIT 4,3 返回的结果相同。
相关文章
- MySQL基础之查询(二)
- MySQL 枚举字段查询实践(mysql查询枚举)
- MySQL中保存查询结果的方法(mysql保存结果)
- MySQL查看记录数:一步到位(mysql查看记录数)
- MySQL函数:开启新的数据存储之门(使用mysql的函数)
- MySQL中的锁记录机制(mysql锁记录)
- 数据MySQL查询最大值的实战指南(mysql取最大的一条)
- MySQL中的索引:提升查询性能的利器(mysql中索引是什么)
- MySQL分组查询:从复杂数据中获取精彩结果(mysql分组查询)
- 插入记录MySQL: 如何插入记录至第N行?(mysql在第几行)
- MySQL多表查询实现数据去重(mysql多表查询去重复)
- MySQL查询中去除重复记录(mysql查询去重复)
- MySQL表信息查询:深入探索(mysql表信息查询)
- 利用MySQL实现高效关联查询两个数据表(mysql关联两个表)
- MySQL 数据库如何进行统计查询数量?(mysql统计查询数量)
- 「MySQL 递归调用」概念、实现及优化(mysql递归调用)
- MySQL查询中的去重复功能(mysql查询去重)
- MySQL:为部分表实施备份(mysql备份部分表)
- 如何在MySQL中建立数据库(mysql建立数据库)
- MySQL 数据格式介绍(mysql数据格式)
- MySQL中的主关键字的作用和使用方法(mysql中主关键字)
- MySQL聚合函数SUM让数据统计更简单(mysql中sunm)
- 深入浅出MySQL中的Null字段解析和应用技巧(mysql中null字段)
- MySQL去重联查两张表的方法简介(mysql 两表联查去重)
- 如何在MySQL中使用zip解压文件(mysql zip解压后)
- MySQL入门指南下载完成后如何轻松操作(mysql下载完如何使用)
- 学习MySQL查询日志的指令(mysql下查询日志指令)
- 网站上的MySQL数据库如何传输文件(mysql上如何传输局)
- MySQL查询语句未显示影响行数解决办法在这(mysql不显示影响行数)