MySQL 最近的 n 个条目,升序?

标签 mysql sql sql-order-by

我正在尝试获取数据库中最近的 n 个条目的列表,但将它们按升序排序。

显然我可以使用以下方法获取前 n 个条目:

SELECT owner_id,message 
FROM messages
WHERE thread_id = ? 
ORDER BY time ASC
LIMIT ?

或者这样获取最近的 5 个,降序:

SELECT owner_id,message 
FROM messages
WHERE thread_id = ? 
ORDER BY time DESC
LIMIT ?

但是我怎样才能按升序获取最近的 5 个呢?我可以在 PHP 中反转数组的顺序,但这似乎有点低效。

最佳答案

Select * from
(SELECT owner_id,message,time 
FROM messages
WHERE thread_id = ? 
ORDER BY time DESC
LIMIT ?) test
Order by time ASC

Sample fiddle

关于MySQL 最近的 n 个条目,升序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21353831/

相关文章:

MySQL - 从事件列表聚合数据,查询优化

sql - t-sql 最首选的连接方式

php - 我如何按个人资料图片位于顶部的用户进行排序?

mysql - NodeJS中mysql查询的计时问题

php - 将关系型与非关系型混合(MySQL 和 MongoDB)

mysql - 在 MySQL 中创建存储过程

MySQL 查询按多列排序

sql - 如何在水平行中显示特定日期范围内的所有日期?

sql - 为什么 SQLite 在添加 JOIN 时拒绝使用可用索引?

mysql - SQL ALTER TABLE 排除列