在本教程中,我们将学习 MySQLLIMIT
子句。假设您要在表格中显示学生列表,在数学中按分数降序排列。这可以使用WHERE子句来完成。但是,如果您只想显示数学成绩最高的前三名学生,MySQL 为您提供了该LIMIT
子句。
MySQLLIMIT
用于限制结果集中返回的行数。LIMIT
与SELECT语句一起广泛使用,但也可以与UPDATE
orDELETE
语句一起使用。
MySQL LIMIT 的语法
1
|
SELECT expression FROM table_name LIMIT offset, count ;
|
在哪里,
- 偏移量用于指定要从中返回结果集的行号。行的偏移量从 0 开始。例如,如果将偏移量设置为 2,则从第 3 行开始返回结果集。
- 该计数用于指定要返回的最大行数。例如,如果要返回前 3 行,则将计数设置为 3。
请注意,如果您只指定两个参数中的一个,MySQL 假定您已指定 count 参数。
MySQL LIMIT 示例
考虑下面的 Employee 表。
员工表
1. MySQL LIMIT 单参数
在语法部分,我提到如果你只用 指定一个参数LIMIT
,MySQL 假定它是 count 参数。因此,请记住这一点,让我们展示餐桌上的前 5 名员工。
1
|
SELECT * FROM Employee LIMIT 5;
|
MySQL 将值 5 视为计数值,我们得到的输出为,
2. MySQL LIMIT 与两个参数
现在,让我们在LIMIT
子句中指定一个偏移量。假设您想知道所有员工的记录从表的第 4 行到第 7 行。我们这样做使用,
1
|
SELECT * FROM Employee LIMIT 3, 4;
|
由于偏移值从 0 开始,我们需要将偏移指定为 3 以检索第 4 行。我们需要从第 4 行到第 7 行(包括第 7 行)的记录,因此我们将计数值设为 4。我们得到的输出为,
3. MySQL LIMIT 与 MySQL WHERE
让我们将WHERE
子句与子句一起使用LIMIT
。如何在员工的薪水大于 75000 的表中显示前三个条目。我们使用查询来做到这一点,
1
|
SELECT * FROM Employee WHERE Salary>75000 LIMIT 3;
|
我们得到如下输出,
4. MySQL ORDER BY 的 MySQL LIMIT 查询
如果您想查看餐桌上收入最高的 5 名员工怎么办?在这种情况下,我们将ORDER BY 子句与以下子句一起使用LIMIT
:
1
|
SELECT * FROM Employee ORDER BY Salary DESC LIMIT 5;
|
这将按降序排列 Salary 列,然后显示前 5 个条目。输出如下所示。
结论
该LIMIT
子句在分析表中的数据时非常有用。假设您必须将表格中每页的 20 个条目显示到网页上。这正是您会发现需要使用该LIMIT
子句的地方。
参考
- MySQL 官方文档在
LIMIT
. - JournalDev上的文章
LIMIT
。