сумма 12 месяцев с конкретной даты sql

0

Я хочу суммировать ежегодные записи, например, 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

и так далее...

  • 1
    Stack Overflow - это не сервис для написания кода для вас. что ты уже испробовал? Как выглядит ваш существующий код?
  • 1
    пожалуйста, поместите определения таблиц и образцы данных тоже.
Показать ещё 2 комментария
Теги:

1 ответ

1

Это немного сложно. Я думаю, что самый простой способ - вычесть 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.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню