当前位置:  开发笔记 > 后端 > 正文

如何在MySQL中生成一系列小时平均值?

如何解决《如何在MySQL中生成一系列小时平均值?》经验,为你挑选了1个好方法。

我的表中有十分钟的数据:

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.

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

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

5.42
8.87
etc.

Alnitak.. 16

目前还不清楚您是否希望平均值在几天内汇总.

如果您希望在26日午夜和27日午夜有不同的平均值,那么修改Mabwi的查询:

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

请注意DATE()GROUP BY子句中的附加内容.如果没有这个,查询将把所有数据放在一起00:00,00:59而不考虑它发生的日期.



1> Alnitak..:

目前还不清楚您是否希望平均值在几天内汇总.

如果您希望在26日午夜和27日午夜有不同的平均值,那么修改Mabwi的查询:

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

请注意DATE()GROUP BY子句中的附加内容.如果没有这个,查询将把所有数据放在一起00:00,00:59而不考虑它发生的日期.

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有