MySQL获取按间隔分组的平均值

标签 mysql charts average intervals

我有一个功率曲线的 xy 图。 y 轴上的功率和 x 轴上的风。

我从 MySQL 表中获取值。

如何在 wind 列中获得 1 间隔之间的平均功率。

例子:

Wind | Power
10.2   1245
10.2   1245
9.7    1145
8.7    1001
11.1   1345
9.3    1100
10.6   1284
8       987
5.5     352
...

我需要的是:

Wind | Avg(Power)
0-1    ...
1-2    ... 
2-3    ...
... 

提前致谢

编辑:

谢谢大家的回答!

对于我的特殊情况,风速始终在 0 到 25 m/s 之间。 我需要从中获取平均功率的间隔是 0.5。

所以:

0 - 0,25
0,25 - 0,75
0,75 - 1,25
1,25 - 1,75
... - 25

最佳答案

这可以是一个聚合查询,您可以在其中使用单射函数对您的个人观察结果进行分类。单射函数是 FLOOR(Wind)

这是查询 ( http://sqlfiddle.com/#!2/9e64b6/9/0 ),包括范围的显示内容。

SELECT CONCAT(FLOOR(Wind),'-',FLOOR(Wind)+1) AS Wind, 
       AVG(Power) AS Power
  FROM power
 GROUP BY FLOOR(Wind)
 ORDER BY FLOOR(Wind)

当然,这使用了 MySQL AVG() 函数,生成算术平均值。我认为您正在处理的应用程序类型更喜欢几何平均值,但我不确定。

它还会产生一个稀疏的结果集。

关于MySQL获取按间隔分组的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22102016/

相关文章:

MySQL:SELECT 只获取基于 "WHERE x LIKE ' % 的记录?多对多关系中的 %'"

javascript - AmCharts 仪表气球工具提示

python - 从数据帧创建一系列饼图,并将颜色链接到索引值

flutter - 如何获得抖动中的平均颜色?

java - 无法以编程方式连接到 mysql

sql - 小复杂的sql

c++ - 在Binary Search Tree C++中计算平均值

average - NetLogo:查找一组海龟的平均值

html 表格行中或数据库本身中的 PHP 方程

extjs - Ext 图表自动调整大小