如何每分钟获得汇总平均结果

时间:2019-07-21 22:31:10

标签: mysql sql

我确实每分钟都会收集以下格式的数据

id(自动递增)| ts(timestamp-* nix format)|温度(浮动)

通过查询:

select day(ts), avg(temp) as avg_1 from scores group by day(ts) order by day(ts) asc

由于已填充数据,我得到了temp列的平均值。

通过查询

select hour(ts), avg(temp) as avg_1 from scores group by hour(ts) order by hour(ts) asc

我得到的结果是0到23

我想得到的是所有范围内的温度的平均avg值的结果,但是一天中的每一分钟(0-1439),以查看每分钟的温度变化(但所有时间的平均值)每天0、1、2分钟内的日期)

1 个答案:

答案 0 :(得分:0)

如果要查找一天中每一分钟的平均温度,我将执行以下查询:

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