0

我正在实现一个 mysql 数据库,用于从智能家居应用程序中保存记录的能耗数据。然后应在 javascript 框架内绘制数据。不幸的是,每 8 秒记录一次使用情况,并且有太多信息无法绘制年度消耗图表。

数据按时间、设备 ID 和特定时间的消耗量保存在一个简单的表中。

我希望能够按分钟、小时和最后一天的平均值自动聚合给定的数据。

经过一些研究,我遇到了一些查询/程序来计算特定间隔的平均值。不幸的是,这对我没有多大帮助,因为我有三年的数据,我不想手动创建给定的间隔。

理想情况下,mysql 中的过程应该能够按时间聚合给定的设备值并计算平均值并将其保存在单独的表中。

有谁知道我如何实现它?

4

1 回答 1

0
select avg(consumption) minute_average, date_format(log_date,'%m/%d/%y %H:%i') minute from data 
group by date_format(log_date,'%m/%d/%y %H:%i');

select avg(consumption) hour_average, date_format(log_date,'%m/%d/%y %H') hour from data 
group by date_format(log_date,'%m/%d/%y %H');

select avg(consumption) day_average, date_format(log_date,'%m/%d/%y') day from data 
group by date_format(log_date,'%m/%d/%y');

注意:您也可以轻松计算任何聚合,例如总和或标准差。

于 2013-12-26T19:25:09.757 回答