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)