select concat('2022', '-', months.month) as time, count(
articles.id) > 0 as exist
from (
select '01' as month
union
select '02' as month
union
select '03' as month
union
select '04' as month
union
select '04' as month
union
select '06' as month
union
select '07' as month
union
select '08' as month
union
select '09' as month
union
select '10' as month
union
select '11' as month
union
select '12' as month
) as months
left join articles on month(created_at) = months.month and year(articles.created_at) = '2022'
group by time;
随便写的,不保证任何效率