Среднее с начала года
У меня есть таблица MySQL, показанная на рисунке. Результат, который я хочу получить, находится в столбце "средний":
Я хотел бы создать запрос для расчета среднего значения с начала года (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
и так далее.- Если вам нужно только с этого года, то условие должно включать год.