sql >> Database teknologi >  >> RDS >> Mysql

Tilføj manglende måned i forespørgselsresultatet

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



  1. Brug af MySQL-triggere

  2. Mysql group_concat begrænser rækker i gruppering

  3. Sådan importeres en MySQL-dump fra kommandolinjen MED overskrivning

  4. hvordan mysql_fetch_array på sammenføjede tabeller, men kolonner har samme navn