自年初以来的平均值

时间:2018-01-23 12:05:47

标签: mysql sql average moving-average

我有一张图片显示在一张图片中。我想得到的结果是在“平均”栏中:

my_table

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

1 个答案:

答案 0 :(得分: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,依此类推。
  • 如果您只需要今年,那么条件需要包括年份。