【发布时间】:2014-07-03 10:34:19
【问题描述】:
我使用以下查询来获取一天中每小时的平均值,但我没有得到最新数据而不是最旧数据:
SELECT id, serverID, AVG(performance) as performance, AVG(online) as online, HOUR(timestamp)
FROM stats_server
WHERE serverID= :serverID AND DATE_SUB(`timestamp`,INTERVAL 1 HOUR)
GROUP BY HOUR(timestamp)
ORDER BY id ASC
【问题讨论】:
-
你说的是订单吗?如果是这样,为什么不试试
ORDER BY id DESC -
不,此查询已将输出限制为 24 个结果,因此 order 工作正常,但仅适用于 24 个结果
-
您在 WHERE 子句的“DATE_SUB”部分缺少某些内容:类似于
timestamp > DATE_SUB(timestamp, INTERVAL 24 HOUR)。此外,您要 1 小时,而您要 24 小时(所以按他们分组) -
您错过了 DATE_SUB 的条件:
AND timestamp > DATE_SUB(timestamp,INTERVAL 1 HOUR) -
@Uriil 如果我添加这个,结果是一样的。