Mysql 如何每分钟获得聚合平均结果

Mysql 如何每分钟获得聚合平均结果,mysql,sql,Mysql,Sql,我每分钟都会收集以下格式的数据 id(自动激励)| ts(时间戳-*nix格式)|温度(浮动) 根据查询: 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) as

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

id(自动激励)| ts(时间戳-*nix格式)|温度(浮动)

根据查询:

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


我想得到的是一天中除每分钟(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 

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

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 

非常感谢!,这正是我一直在寻找的解决方案。好奇的是,是否有可能将时间表示从0到1439(这并不重要,但如果可能的话,最好知道)简单到强大!非常感谢!,这正是我一直在寻找的解决方案。好奇的是,是否有可能将时间表示从0到1439(这并不重要,但如果可能的话,最好知道)简单到强大!