MySQL LIMIT

MySQL LIMIT 可用于限制查询返回的行数。例如,如果您是销售经理,您的工作是识别表现最好的产品,那么您可以使用 Limit。

如果您希望 SELECT 语句返回少数记录或限制行数,我们必须在查询的末尾使用它。LIMIT 子句的基本语法如下所示。

SELECT Column_Names] 
FROM [Table_Name]
LIMIT Value

为了演示 Limit,我们将使用下面显示的数据。

Customer Table

MySQL Limit * 示例

在此,SELECT * 语句从 customers 中选择所有记录。但是,1 将记录限制为 1 行。

SELECT *
FROM customer
LIMIT 1;
Select 1 Record Example 2

MySQL Limit Top 10 示例

此 LIMIT 查询将选定的记录限制为 10 条。使用此查询从 customer 表中选择前 10 条记录。

SELECT *
FROM customer
LIMIT 10;
MySQL LIMIT 10 Example 3

Limit Top 3 Records 示例

如前所述,使用 SELECT * 并非最佳做法。此 LIMIT 3 示例从 customers 中选择所需的列。此语句选择前三条记录。

SELECT EmpID, 
       `First Name`,
        `Last Name`,
        Qualification,
        Occupation,
        Income,
        Sales,
        HireDate
FROM customer
LIMIT 3; 
Select 3 Records Example 4

MySQL Limit ORDER BY 语句

默认情况下,MySQL 表数据将按索引值排序。要检索收入或销售额最高的三位客户,您必须使用 ORDER BY 对数据进行排序。接下来,使用它来获取前三名客户。

SELECT EmpID, 
       `First Name`,
        `Last Name`,
        Qualification,
        Occupation,
        Income,
        Sales,
        HireDate
 FROM customer
 ORDER BY Income
 LIMIT 3

这次我们使用的是 DESC 关键字。这意味着数据按收入降序排序。接下来,它选择前 7 条记录。

SELECT EmpID, 
       `First Name`,
        `Last Name`,
        Qualification,
        Occupation,
        Income,
        Sales,
        HireDate
 FROM customer
 ORDER BY Income DESC
 LIMIT 7;
Select Bottom or Last Seven Records in a Table Example 6

MySQL Limit Where 示例

您还可以将 Where Clause 与此结合使用。首先,它会检查表中的条件,然后选择所需的行。

下面的 Limit Where 查询选择销售额大于 2000 的前 5 名客户。在这里,我们使用 Order By 子句按收入降序对客户进行排序。

SELECT EmpID, 
       `First Name`,
        `Last Name`,
        Qualification,
        Occupation,
        Income,
        Sales,
        HireDate
 FROM customer
 WHERE Sales > 2000
 ORDER BY Income DESC
 LIMIT 5;
LIMIT WHERE Example 7

Limit Offset 示例

您可以将行偏移量与 LIMIT 一起使用。这里,3, 1 表示从第 4 行开始并选择 1 行。

SELECT EmpID, 
       `First Name`,
       `Last Name`,
       Qualification,
       Occupation,
       Income,
       Sales,
       HireDate
 FROM customer
 LIMIT 3, 1;
LIMIT Order by Offset 8

以下查询从第 6 条记录开始,并打印连续的 7 条记录。

SELECT EmpID, 
       `First Name`,
       `Last Name`,
       Qualification,
       Occupation,
       Income,
       Sales,
       HireDate
 FROM customer
 LIMIT 5, 7;
Offset Example 9

以下 limit 查询按收入降序对客户进行排序。接下来,它打印第 3 行。这意味着收入排在第三位的客户。

SELECT EmpID, 
       `First Name`,
       `Last Name`,
       Qualification,
       Occupation,
       Income,
       Sales,
       HireDate
 FROM customer
 ORDER BY Sales DESC
 LIMIT 2, 1;

Limit 的多个示例

在此示例中,我们正在使用命令提示符。首先,0 表示返回零条记录。第二条语句返回前 2 行。最后一条语句返回按销售额降序排序的前两个客户。这意味着销售额最高的前两位客户。

LIMIT Example using Command prompt 11