我确实每分钟收集一次数据,格式如下
id(自增)| ts(时间戳 - *nix 格式)|温度( float )
通过查询:
select day(ts), avg(temp) as avg_1 from scores group by day(ts) order by day(ts) asc
自数据填充以来,我得到临时列的平均值。
通过查询
select hour(ts), avg(temp) as avg_1 from scores group by hour(ts) order by hour(ts) asc
我得到从 0 到 23 的结果
我想得到的是所有范围内温度的聚合平均值的结果,但一天中的每一分钟 (0 - 1439),以查看每分钟温度的变化(但所有的平均值一天中第 0、1、2 分钟的日子)
最佳答案
如果要查找一天中每一分钟的平均温度,我将执行以下查询:
select
EXTRACT(HOUR FROM ts) as hour_,
EXTRACT(MINUTE FROM ts) as minute_,
avg(temp) as temp_
from scores
group by EXTRACT(HOUR FROM ts), EXTRACT(MINUTE FROM ts)
这样做,您将能够分析所有天中每对小时/分钟的温度。
要将所有内容表示为分钟,只需执行以下操作:
select
(A.hour_ * 60) + A.minute_ as time_,
A.*
from (
select
EXTRACT(HOUR FROM ts) as hour_,
EXTRACT(MINUTE FROM ts) as minute_,
avg(temp) as temp_
from scores
group by EXTRACT(HOUR FROM ts), EXTRACT(MINUTE FROM ts)
) A
关于mysql - 如何每分钟获得聚合平均结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57137450/