私はこのSELECTを持っています:
SELECT
DATE_FORMAT(`created`, '%Y-%m') as byMonth,
COUNT(*) AS Total
FROM
`qualitaet`
WHERE
`created` >= MAKEDATE(year(now()-interval 1 year),1) + interval 5 month
AND
`status`=1
GROUP BY
YEAR(`created`), MONTH(`created`)
ORDER BY
YEAR(`created`) ASC
そしてこの結果を得る:
| byMonth | Total |
| 2015-06 | 2 |
| 2015-09 | 12 |
| 2015-10 | 3 |
| 2015-12 | 8 |
| 2016-01 | 1 |
ここでSQL-Fiddle を参照してください
私の例では6月1日から始まる現在の会計年度として必要なので、WHERE句は重要です。
ご覧のとおり、7 月、8 月、11 月のレコードはありません。しかし、Total がゼロのこのレコードが必要です。
したがって、私の結果は次のようになります。
| byMonth | Total |
| 2015-06 | 2 |
| 2015-07 | 0 |
| 2015-08 | 0 |
| 2015-09 | 12 |
| 2015-10 | 3 |
| 2015-11 | 0 |
| 2015-12 | 8 |
| 2016-01 | 1 |
この結果を得る方法はありますか?