如何根据月份的总和来填充空的月份?

时间:2018-08-16 15:34:39

标签: php mysql sql database

我有一个只包含日期数据的表,我想计算该数据在同一月份的次数,对于该问题,该问题已经结束,现在又出现了一个新问题,那就是缺少的月份,这是因为该月没有数据。现在,我想添加默认值为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

0 个答案:

没有答案