【发布时间】:2017-12-01 20:09:19
【问题描述】:
Hello community 以下查询将每个活动状态的出现次数相加,然后按月分组
select
date_format(date_created, '%b') month,
month(date_created) pivot,
sum(case when a.state = 'created' then 1 else 0 end) created,
sum(case when a.state = 'notified' then 1 else 0 end) notified,
sum(case when a.state = 'confirmed' then 1 else 0 end) confirmed,
sum(case when a.state = 'approved' then 1 else 0 end) approved,
sum(case when a.state = 'authorized' then 1 else 0 end) authorized,
sum(case when a.state = 'attended' then 1 else 0 end) attended,
sum(case when a.state = 'canceled' then 1 else 0 end) canceled,
count(a.id) as total
from activities a
group by 1 order by pivot desc;
所以我得到以下结果
我想在这个结果中添加没有数据的月份,并用零自动完成状态总和
我分享这个sqlfiddle
我发现这个answer 用于类似的场景,但我不明白如何将它应用到我向您展示的案例中
非常感谢您的帮助
【问题讨论】:
标签: mysql