【发布时间】:2011-06-10 04:06:59
【问题描述】:
我的查询如下所示:
SELECT article FROM table1 ORDER BY publish_date LIMIT 20
ORDER BY 是如何工作的?它会排序所有记录,然后获取前 20 条记录,还是获取 20 条记录并按 publish_date 字段排序?
如果是最后一篇,则不能保证您确实获得了最新的 20 篇文章。
【问题讨论】:
-
请注意,如果某些
publish_dates 相等,则按它们排序不会给出确定的结果,这意味着如果您使用LIMIT进行分页,您最终可能会在不同的页面上得到相同的项目! -
注意你应用这些的顺序。如果你先做 LIMIT 再做 ORDER BY,它会抛出一个错误。 ORDER BY 必须是查询中的第一个。
标签: mysql sql sql-order-by sql-limit