Месяцы в столбцах при group by запросе в MySQL

Приветствую!

Представим табличку orders, у которой есть:
date — дата заказа
amount - сумма заказа
source - источник заказа

Хотелось бы написать запрос, который бы возвращал таблицу, где в столбцах месяца, а в строках - сумма заказов по источникам.
В таком духе: http://kolger.ru/monosnap/20131120aez6xe74hd.jpg

Наверняка есть способы это сделать, но погуглив я так его и не нашел.
  • Вопрос задан
  • 3368 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Mulder_ua
Держи,

select source,
sum(case when datepart(mm, date) = 1 then amount else 0 end) as [Январь],
sum(case when datepart(mm, date) = 2 then amount else 0 end) as [...],
sum(case when datepart(mm, date) = 3 then amount else 0 end) aa [...],
sum(case when datepart(mm, date) = 4 then amount else 0 end) as [...],
sum(case when datepart(mm, date) = 5 then amount else 0 end) as [...],
sum(case when datepart(mm, date) = 6 then amount else 0 end) as [...],
sum(case when datepart(mm, date) = 7 then amount else 0 end) as [...],
sum(case when datepart(mm, date) = 8 then amount else 0 end) as [...],
sum(case when datepart(mm, date) = 9 then amount else 0 end) as [...],
sum(case when datepart(mm, date) = 10 then amount else 0 end) as [...],
sum(case when datepart(mm, date) = 11 then amount else 0 end) as [...],
sum(case when datepart(mm, date) = 12 then amount else 0 end) as [Декабрь]
group by source

Буду вопросы, задавай
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы