3

私はこの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   |

この結果を得る方法はありますか?

4

1 に答える 1