我在查詢的正確結果時遇到問題
我正在查詢獲取有多少用戶已在相應月份註冊的查詢。到目前爲止,我想出了下面的查詢,讓我得到這一結果,但不顯示的月份裏沒有用戶註冊
包括NULL個月
SELECT
YEAR(c.created_at) as 'YEAR',
(CASE WHEN MONTH(c.created_at)=1 THEN 'Jan'
WHEN (MONTH(c.created_at)=2) THEN 'Feb'
WHEN (MONTH(c.created_at)=3) THEN 'Mar'
WHEN (MONTH(c.created_at)=4) THEN 'Apr'
WHEN (MONTH(c.created_at)=5) THEN 'May'
WHEN (MONTH(c.created_at)=6) THEN 'Jun'
WHEN (MONTH(c.created_at)=7) THEN 'Jul'
WHEN (MONTH(c.created_at)=8) THEN 'Aug'
WHEN (MONTH(c.created_at)=9) THEN 'Sep'
WHEN (MONTH(c.created_at)=10) THEN 'Oct'
WHEN (MONTH(c.created_at)=11) THEN 'Nov'
WHEN (MONTH(c.created_at)=12) THEN 'Dec'
END)
as 'MONTH',
COUNT(c.id) as Total
FROM customers as c
WHERE YEAR(c.created_at) = 2016
GROUP BY c.id, MONTH(c.created_at)
ORDER BY YEAR(c.created_at), MONTH(c.created_at), Total ASC
結果:
+------+-------+-------+
| YEAR | MONTH | Total |
+------+-------+-------+
| 2016 | Feb | 1 |
| 2016 | Apr | 1 |
| 2016 | May | 1 |
| 2016 | Jul | 1 |
+------+-------+-------+
4 rows in set (0.00 sec)
我希望它是這樣
+------+-------+-------+
| YEAR | MONTH | Total |
+------+-------+-------+
| 2016 | Jan | 0 |
| 2016 | Feb | 1 |
| 2016 | Mar | 0 |
| 2016 | Apr | 1 |
| 2016 | May | 1 |
| 2016 | Jun | 0 |
| 2016 | Jul | 1 |
| 2016 | Aug | 0 |
| 2016 | Sep | 0 |
| 2016 | Oct | 0 |
| 2016 | Nov | 0 |
| 2016 | Dec | 0 |
+------+-------+-------+