Задать вопрос

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

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

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

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

Наверняка есть способы это сделать, но погуглив я так его и не нашел.
  • Вопрос задан
  • 3380 просмотров
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • ProductStar
    Профессия: Java-разработчик
    9 месяцев
    Далее
  • GB (GeekBrains)
    Профессия Python-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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

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

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

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