Buat tabel dengan semua bulan, lalu gabungkan dengan kueri Anda. Sejalan dengan
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
Ini akan berhasil, tetapi itu akan mengembalikan hasil Anda dari Jan hingga Des, dan tidak akan memberi Anda tahun. Pertanyaan serupa diajukan sebelumnya, lalu saya mengajukan pertanyaan yang sangat kompleks, jadi jika Anda tidak menemukan yang lebih sederhana, pertimbangkan untuk melihat:
Kueri antara tanggal tidak berfungsi, sekarang kita berada di tahun baru