Я хочу суммировать ежегодные записи, например, 4th april 2001
по 4th april 2002
каждый год в SQL.
Подобно:
Total | Year
2000 | 4th april 2001 to 4th april 2002
3000 | 4th april 2002 to 4th april 2003
и так далее...
Это немного сложно. Я думаю, что самый простой способ - вычесть 3 месяца и 3 дня и суммировать по годам:
select year((dte - interval 3 day) - interval 3 month), sum(amount)
from t
group by year((dte - interval 3 day) - interval 3 month);
К сожалению, существование високосных лет мешает расчету днем, потому что через несколько лет февраль имеет 28 дней, а в других 29.