欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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子句的这个功能,常见于“网页分页+每页显示最大数”的应用场景。

 

 

相关标签: LIMIT