I have the following mysql query:
SELECT
LEFT(MONTHNAME(date), 3) AS month,
YEAR(date) AS year,
COUNT(id) AS quantity
FROM
budgets
GROUP BY MONTH(date)
which returns me this:
|month|year|quantity|
---------------------
| Jan|2018| 10|
| Mar|2018| 2|
| May|2018| 5|
I need to show months even if COUNT(id)
not exist
like this:
|month|year|quantity|
---------------------
| Jan|2018| 10|
| Feb|2018| 0|
| Mar|2018| 2|
| Apr|2018| 0|
| May|2018| 5|
Anyone knows a way to do that?
UPDATE
According to D-Shih answer code, query returns this:
|month|year|quantity|
---------------------
| Jan|2018| 10|
| Feb|null| 0|
| Mar|2018| 2|
| Apr|null| 0|
| May|2018| 5|
And if I add a register with different year it will show only one row with name 2017 like:
|month|year|quantity|
---------------------
| Jan|2018| 10|
| Feb|null| 0|
| Mar|2018| 2|
| Apr|null| 0|
| May|2018| 5|
| May|2017| 2|
it must show
|month|year|quantity|
---------------------
| Jan|2018| 10|
| Feb|2018| 0|
| Mar|2018| 2|
| Apr|2018| 0|
| May|2018| 5|
| Jan|2017| 0|
| Feb|2017| 0|
| Mar|2017| 0|
| Apr|2017| 0|
| May|2017| 2|