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

mysqlmysqli database

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

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)

相关文章