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

Mysql:Tæl poster (inklusive nul) pr. måned

Den enkleste måde at gøre dette på i MySQL er at oprette en tabel kaldet months der viser alle de måneder, du er interesseret i, og brug en LEFT JOIN til dit bord.

SELECT
   YEAR(time) AS year
   MONTH(time) AS month,
   COUNT(myTable.year) AS cnt, 
FROM months
LEFT JOIN myTable 
    ON months.year = myTable.year
    AND months.month = myTable.month
GROUP BY months.year, months.month
ORDER BY months.year, months.month

Men da dette for det meste er et præsentationsproblem, er det ofte nemmere bare at køre forespørgslen, som du allerede gør, og transformere resultatet i klienten (f.eks. PHP).




  1. MySQL INDSÆT I HVOR IKKE FINDER

  2. Indsæt flere rækker UDEN at gentage INSERT INTO ...-delen af ​​sætningen?

  3. Kan du opdele/eksplodere et felt i en MySQL-forespørgsel?

  4. Fejl ved parsing af data org.json.JSON Undtagelse:Slut på input ved tegn 0 af - Android