Opret en tabel med alle måneder, og tilføj den derefter med din forespørgsel. På linje med
select count(1) as count, months.month, year(published_at) as year
from months left join articles on months.month = month(published_at)
where published_at >= (now() - interval 1 year) and published_at <= now()
group by month(published_at)
order by year asc, month asc
Det vil på en måde fungere, men det vil give dig resultater fra januar til december, og vil ikke give dig år. Et lignende spørgsmål blev stillet før, så kom jeg med en meget kompleks forespørgsel, så hvis du ikke finder noget enklere, så overvej at tage et kig:
Forespørgslen mellem datoer virker ikke, nu er vi i gang med et nyt år