MySQL LIMIT Clause

MySQL LIMIT 子句

MySQL LIMIT 子句用于指定要返回的记录数。

对于包含数千条记录的大型表,LIMIT 子句非常有用。返回大量记录可能会影响性能。

LIMIT 语法

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

演示数据库

以下是 Northwind 演示数据库中 "Customers" 表的一部分选择:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

MySQL LIMIT 实例

以下 SQL 语句从 "Customers" 表中选择前三条记录:

实例

SELECT * FROM Customers
LIMIT 3;

亲自试一试

如果我们想选择记录 4 - 6(包括)该怎么办?

MySQL 提供了一种处理方法:使用 OFFSET。

下面的 SQL 查询表示“仅返回 3 条记录,从记录 4(OFFSET 3)开始”:

实例

SELECT * FROM Customers
LIMIT 3 OFFSET 3;

亲自试一试

添加 WHERE 子句

以下 SQL 语句从 "Customers" 表中选择前三条国家为 "Germany" 的记录:

实例

SELECT * FROM Customers
WHERE Country='Germany'
LIMIT 3;

亲自试一试

添加 ORDER BY 子句

以下 SQL 语句在返回所选记录中的前三条记录之前,先按客户名对客户进行降序排序:

实例

SELECT * FROM Customers
ORDER BY CustomerName DESC
LIMIT 3;

亲自试一试