2009-01-26 26 views
9

我已经得到的数据:如何在MySQL中生成一系列小时平均值?在我的表10分钟间隔

2009-01-26 00:00:00  12 
2009-01-26 00:10:00  1.1 
2009-01-26 00:20:00  11 
2009-01-26 00:30:00  0 
2009-01-26 00:40:00  5 
2009-01-26 00:50:00  3.4 
2009-01-26 01:00:00  7 
2009-01-26 01:10:00  7 
2009-01-26 01:20:00  7.2 
2009-01-26 01:30:00  3 
2009-01-26 01:40:00  25 
2009-01-26 01:50:00  4 
2009-01-26 02:00:00  3 
2009-01-26 02:10:00  4 
etc. 

是否有可能制定一个SQL查询为MySQL将返回一系列的平均在每个小时?

在这种情况下,它应该返回:

5.42 
8.87 
etc. 

回答

10

是否要聚集在平均值目前还不清楚几天或不。

如果你想为午夜不同的平均26日午夜VS于27日,那么这样修改Mabwi的查询:

SELECT AVG(value) , thetime 
FROM hourly_averages 
GROUP BY DATE(thetime), HOUR(thetime) 

注意GROUP BY子句中的附加DATE()。如果没有这个,查询会将来自00:00的所有数据平均到00:59,而不考虑它发生的日期。

+0

这正是我正在寻找的,谢谢! – 2009-01-26 12:49:53

3

这应该工作:

SELECT AVG(value) , thetime 
FROM hourly_averages 
GROUP BY HOUR(thetime) 

这里的结果

AVG(value)   thetime 
5.4166666865349  2009-01-26 00:00:00 
8.8666666348775  2009-01-26 01:00:00 
3.5     2009-01-26 02:00:00 
+0

感谢您的正确方向提示。 – 2009-01-26 12:50:26

相关问题