mysql—按时间范围内的平均间隔分组

y1aodyip  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(441)

假设我想用简单的'date'和'temperature'列跟踪我的cpu温度。我想看看上周平均气温最高的时期。我每10分钟捕获一次数据,所以我希望每个10分钟的数据块与一周中其他日子的相同数据块平均。
例如:

2018-01-08 02:00:00 78.3
2018-01-08 03:00:00 81.2
2018-01-09 02:00:00 74.1
2018-01-09 03:00:00 75.9

我想要每天的平均值@02:00:00,每天@03:00:00,依此类推(除了真正的数据是每10分钟一次)确切的日期时间不同-它不总是02:00:02,有时可能是02:00:07,等等,所以我不能只做一个确切的条件。
你知道我该怎么做这些数据吗?我想有一些方法可以让我使用group by,但我不知道该怎么做。

eqzww0vc

eqzww0vc1#

只需设置小时和分钟的格式,并按此分组。

SELECT DATE_FORMAT(date, '%H:%i') AS time, AVG(temperature) AS temp
FROM yourTable
GROUP BY time

这假设读数从不比预期的10分钟延迟超过1分钟——如果读数为 02:10 发生在 02:11:01 它不会被放入组中。

相关问题