MySQL 的 LIMIT 是在 ORDER BY 之前还是之后应用的?


MySQL LIMIT 在 ORDER BY 之后应用。让我们检查一下 limit 条件。首先,我们创建一个表 -

mysql> create table LimitAfterOrderBy
   −> (
   −> Id int,
   −> Name varchar(100)
   −> );
Query OK, 0 rows affected (0.50 sec)

使用 insert 命令向表中插入一些记录。查询如下 -

mysql> insert into LimitAfterOrderBy values(101,'John');
Query OK, 1 row affected (0.18 sec)

mysql> insert into LimitAfterOrderBy values(102,'Carol');
Query OK, 1 row affected (0.15 sec)

mysql> insert into LimitAfterOrderBy values(103,'Bob');
Query OK, 1 row affected (0.21 sec)

mysql> insert into LimitAfterOrderBy values(104,'Sam');
Query OK, 1 row affected (0.15 sec)

使用 select 语句显示表中的所有记录。查询如下 -

mysql> select *from LimitAfterOrderBy;

以下是输出 -

+------+-------+
| Id   | Name  |
+------+-------+
| 101  | John  |
| 102  | Carol |
| 103  | Bob   |
| 104  | Sam   |
+------+-------+
4 rows in set (0.00 sec)

以下是 LIMIT 位于 ORDER BY 之后的查询 -

mysql> select *from LimitAfterOrderBy order by Name limit 4;

以下是输出 -

+------+-------+
| Id   | Name  |
+------+-------+
|  103 | Bob   |
|  102 | Carol |
|  101 | John  |
|  104 | Sam   |
+------+-------+
4 rows in set (0.00 sec)

更新于:2019-07-30

102 次浏览

开启您的职业生涯

通过完成课程获得认证

开始
广告