我有一个只包含日期数据的表,我想计算该数据在同一月份的次数,对于该问题,该问题已经结束,现在又出现了一个新问题,那就是缺少的月份,这是因为该月没有数据。现在,我想添加默认值为0的空月份,即使该月份不在表中。有人可以根据我的查询为我提供帮助吗?
这是我的数据
start_date |end_date
------------------------
2018-10-01 |2018-10-02
2018-01-04 |2018-02-04
2018-08-01 |2018-10-01
这是我的查询
select month(month_table) as month_table, sum(cstart) as cstart , sum(cend) as cend from ((select `start_date` as month_table, 1 as cstart, 0 as cend from newdata) union all (select `end_date`, 0, 1 from newdata ) ) dd group by monthname(month_table), month(month_table) order by month(month_table)
结果是
month_table|cstart|cend
1 | 1 | 0
2 | 0 | 1
8 | 1 | 0
10 | 1 | 2
我想添加新查询,这样我的结果将是
month_table|cstart|cend
1 | 1 | 0
2 | 0 | 1
3 | 0 | 0
4 | 0 | 0
5 | 0 | 0
6 | 0 | 0
7 | 0 | 0
8 | 1 | 0
9 | 0 | 0
10 | 1 | 2
11 | 0 | 0
12 | 0 | 0
这是我的小提琴 http://sqlfiddle.com/#!9/c18b5f/3/0
如果有人可以帮助我,请帮助我,我很困惑,请遵循此方法 Duplicate post