Квартальный эквивалент для суммирования данных MySQL - PullRequest
0 голосов
/ 31 марта 2020

Я использую следующий запрос mySQL для суммирования столбца «объем» для каждого месяца

SELECT DATE_FORMAT(date, "%m-%Y") AS Month, 
       SUM(vol) 
FROM tbl 
GROUP BY DATE_FORMAT(date, "%m-%Y") 
order by Month

Он выдает правильный результат, как и ожидалось, ежемесячно:

enter image description here

(выше - захват изображения из excel)

Теперь я хочу изменить его на квартальное (т.е. 3-месячное) суммирование или шестимесячное суммирование.

Какие изменения необходимы в приведенном выше запросе? Я не могу найти эквивалент %m за квартал или за шесть месяцев, поэтому вопрос.

1 Ответ

2 голосов
/ 31 марта 2020

Если вы хотите это за квартал, вы можете сделать:

select year(date) yr, quarter(date) qr, sum(vol) sum_vol
from tbl
group by yr, qr
order by yr, qr

или если вы хотите объединить год и квартал в одном столбце:

select concat(year(date), '-Q', quarter(date)) yr_qr, sum(vol) sum_vol
from tbl
group by yr_qr
order by yr_qr

Разделить на семестр, вам нужно немного больше работы:

select 
    concat(year(date), '-S', case when month(date) between 1 and 6 then 1 else 2 end) yr_sr, 
    sum(vol) 
from tbl
group by yr_sr
order by yr_sr
...