MySQL每1个月24小时平均一次

时间:2016-03-07 17:52:18

标签: mysql

所以我有一张包含数百行的100个表格,如下所示:

+--+----------+-------------------+
|ID|metervalue  |datetime         |
|1   |10        |2016-02-23 01:00 |
|2   |20        |2016-02-23 02:00 |
|3   |5         |2016-02-23 03:00 |
|... |...       |...              |
|x   |x         |2016-02-24 01:00 |
|x   |x         |2016-02-24 02:00 |
|x   |x         |2016-02-24 03:00 |
|... |...       |...              |
|x   |x         |2016-03-01 01:00 |
|x   |x         |2016-03-01 02:00 |
|x   |x         |2016-03-01 03:00 |
+--+----------+-------------------+

因此,很多天,每小时都有一些抄表。

现在我需要获取图表的数据。每小时图表数据很简单,因为我可以按原样查询数据,但对于"每月"数据我需要查询一个月内的所有行,以便每24小时平均为一行。

因此,30个中的一行(假设月份为30天)应该包含平均为1天的24小时。

我尝试了这个解决方案,但它没有用,因为我希望它能够正常工作:Average of data for every 5 minutes in the given times

我不认为该答案中的GROUP BY例如可行,因为我不想平均,比如每天每五个小时,但我想平均24一天一小时弥补一天。

1 个答案:

答案 0 :(得分:1)

你仍然会var auto = 3; var progress = function(sec){ var interval = 1000;//milliseconds setTimeout(function(){ sec = sec+25; $('#bar').val(sec); if(sec <= 100) progress(sec);//call self with new value else if(sec > 100) $('#bar').val(0); },interval) } $('#battle').click(function() { $('#dam').html("You have hit the " + $('#monsters').val() + " for 5 damage"); progress(0);//initialize progress bar }); ,但是你通过GROUP BY函数返回的内容来忽略数据的时间部分,如下所示:

DATE()