SQL中LIMIT子句的用法
程序员文章站
2024-02-19 12:40:52
...
本文主要介绍SQL语句中 LIMIT 子句的用法。
1 限制查询结果返回数量
使用 LIMIT 关键字限制查询结果返回数量。
在未使用 LIMIT 限制时,查询结果如下:
mysql> SELECT * FROM mount_info;
+----------+------------+---------+
| mount_id | mount_name | role_id |
+----------+------------+---------+
| 1 | horse | 1 |
| 2 | sheep | 4 |
| 3 | sheep | 2 |
+----------+------------+---------+
3 rows in set (0.00 sec)
mysql>
使用 LIMIT 限制后,查询结果如下:
mysql> SELECT * FROM mount_info LIMIT 1;
+----------+------------+---------+
| mount_id | mount_name | role_id |
+----------+------------+---------+
| 1 | horse | 1 |
+----------+------------+---------+
1 row in set (0.00 sec)
mysql>
2 偏移量+条数限制
使用 LIMIT 实现查找结果的“偏移量+条数限制”,用法为“LIMIT offset,limitnum”。
未使用 LIMIT 子句之前,查询结果如下:
mysql> select * from roles;
+---------+------------+----------+
| role_id | occupation | camp |
+---------+------------+----------+
| 1 | Mage | alliance |
| 2 | paladin | alliance |
| 3 | rogue | Horde |
| 4 | Priest | alliance |
| 5 | Shaman | Horde |
| 6 | warrior | alliance |
| 7 | Warlock | Horde |
| 8 | Hunter | Horde |
+---------+------------+----------+
8 rows in set (0.01 sec)
例如,想输出查询结果中第1行开始、共3条内容,则使用“LIMIT 0,3”,如下:
mysql> select * from roles LIMIT 0,3;
+---------+------------+----------+
| role_id | occupation | camp |
+---------+------------+----------+
| 1 | Mage | alliance |
| 2 | paladin | alliance |
| 3 | rogue | Horde |
+---------+------------+----------+
3 rows in set (0.01 sec)
mysql>
想输出查询结果中第4行开始、共2条内容,则使用“LIMIT 3,2”,如下:
mysql> select * from roles LIMIT 3,2;
+---------+------------+----------+
| role_id | occupation | camp |
+---------+------------+----------+
| 4 | Priest | alliance |
| 5 | Shaman | Horde |
+---------+------------+----------+
2 rows in set (0.01 sec)
mysql>
说明:
- “LIMIT offset,limitnum”中,offset的值从0开始,0表示从查询结果的第1行开始输出;
- LIMIT子句的这个功能,常见于“网页分页+每页显示最大数”的应用场景。
上一篇: shell脚本之判断文件类型
下一篇: Mysql的limit用法