MySQL - 检索 7 个最近的时间戳,从最旧的开始排序

MySQL - Retrieve 7 most recent timestamps, sorted oldest first

如上所述,我不确定该怎么做,尽管我可能忽略了一些简单的事情

我想检索时间戳和另一列,只是我使用 LIMIT 完成的最近 7 列,并使用 ORDER BY timestamp DESC 对它们进行排序以获得最新的 7 列......但是一旦检索到,我会最先喜欢他们,而不是最先喜欢他们

有人能帮忙吗?

谢谢!

两个 select 可以在这种情况下工作。这至少是实现您想要的目标的一种可能方法。我不确定这是否是最好的方法。

我假设你的 table 有一个 id 字段。

select * from records 
  where id in(select id from records order by timestamp desc limit 7) 
  order by timestamp asc;

这让您可以获取内部 select 中的最新 7 行,然后按升序对它们进行排序。

嵌套查询应该可以解决这个问题。像

SELECT *
FROM (
    SELECT timestamp, anotherColumn
    FROM tableName
    ORDER BY timestamp DESC
    LIMIT 7 )
ORDER BY timestamp ASC;