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)
广告