我有一个MySQL表,如图所示。我想要得到的结果在“平均值”列中:



我想创建查询以计算自年初(1月1日)以来的平均值。每行包含年初和当前行之间的平均值。 1月1日,平均值应重置为零。

最佳答案

一种方法使用相关子查询:

select date, value,
       (select avg(value) from t t2 where t2.date <= t.date) as running_avg
from t
order by date;


这有一些假设:


“ a”,“ b”等是数字,而不是字符串。
a+b/2的意思是(a + b) / 2,依此类推。
如果仅从今年起需要,则条件需要包括年份。

关于mysql - 自年初以来的平均值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48401323/

10-16 03:13