MySQL平均24小时10分钟

时间:2016-11-03 02:40:19

标签: php mysql sql aggregate-functions average

我有一个表,每10秒更新一次数据。我需要平均10分钟,特定日期24小时。

我尝试这样做,并通过PHP将时间增加10分钟。

select AVG(active_energy), date_time from energy_readings where date_time between "2016-11-02 00:00:00" and "2016-11-02 00:00:00"+ INTERVAL 10 MINUTE;

然后

select AVG(active_energy), date_time from energy_readings where date_time between "2016-11-02 00:10:00" and "2016-11-02 00:10:00"+ INTERVAL 10 MINUTE;

24小时。

它可以工作,但它在我的数据库服务器上需要太多负载。

是否有一个我可以使用的mysql查询,它可以让我在特定的一天24小时内获得10分钟的平均值?

1 个答案:

答案 0 :(得分:1)

以下是为每10分钟数据获取一行的一种方法:

select date(date_time), hour(date_time), floor(minute(date_time) / 6),
       avg(active_energy)
from energy_readings
where date_time >= '2016-11-02' and datetime < '2016-11-03'
group by date(date_time), hour(date_time), floor(minute(date_time) / 6)
order by min(date_time);