我有一个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/