У меня есть запрос, который возвращает список счетчиков, сгруппированных по месяцам, как показано ниже
SELECT
CASE
WHEN MONTH(StartDate) = 1 THEN 'January'
WHEN MONTH(StartDate) = 2 then 'February'
WHEN MONTH(StartDate) = 3 then 'March'
WHEN MONTH(StartDate) = 4 then 'April'
WHEN MONTH(StartDate) = 5 then 'May'
WHEN MONTH(StartDate) = 6 then 'June'
WHEN MONTH(StartDate) = 7 then 'July'
WHEN MONTH(StartDate) = 8 then 'August'
WHEN MONTH(StartDate) = 9 then 'September'
WHEN MONTH(StartDate) = 10 then 'October'
WHEN MONTH(StartDate) = 11 then 'November'
WHEN MONTH(StartDate) = 12 then 'December'
ELSE ''
END AS [month],
COUNT(*) AS Count
FROM
Users
WHERE
YEAR(StartDate) = '2018'
GROUP BY
MONTH(StartDate)
ORDER BY
MONTH(StartDate)
Результат выглядит примерно так:
Month | Count
---------+-------
January | 1
February | 2
April | 7
May | 3
Как видите, в списке отсутствуют месяцы, которые вы хотели бы получить.
Ожидаемый результат:
Month | Count
---------+-------
January | 1
February | 2
March | 0
April | 7
May | 3
June | 0
Etc ...
Как я могу получить месяцы с нулевым счетом?