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

标签 sql mysql sql-order-by limit

MySQL 处理查询时哪个先出现?

一个例子:

SELECT pageRegions
FROM pageRegions WHERE(pageID=?) AND(published=true) AND (publishedOn<=?)
ORDER BY publishedON DESC
LIMIT 1';

如果在 ORDER BY 之后应用 LIMIT,即使记录与修订日期时间不匹配,是否会返回最后发布的 pageRegion?

最佳答案

是的,在 ORDER BY 之后。对于您的查询,您将获得发布时间最高的记录,因为您正在订购 DESC,在结果集中首先生成最大值,然后您选择第一个。

关于sql - MySQL LIMIT 是在 ORDER BY 之前还是之后应用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4974639/

相关文章:

MySQL加入子查询优化

java - 如何使用 ZK 在网格中显示查询结果?

c# - INSERT,以及如何将 INSERT 插入到多个表中

MySQL,按列排序,包含英语和其他语言(希伯来语)的字符串

MySQL,按多个表中的多列排序

mysql - 多个 ORDER BY

c# - NUnit TestFixure 和 SetUp 的嵌套 TransactionScope

sql - 基本的 sql 查询——其中前缀 =

java - Hibernate 无法创建表 hibernate_sequences

php - "zero knowledge"mysql数据库加密