Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Mysql:Datensätze (einschließlich Null) pro Monat zählen

Der einfachste Weg, dies in MySQL zu tun, besteht darin, eine Tabelle mit dem Namen months zu erstellen das alle Monate auflistet, an denen Sie interessiert sind, und verwenden Sie einen LEFT JOIN zu Ihrer Tabelle.

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

Da dies jedoch hauptsächlich ein Präsentationsproblem ist, ist es oft einfacher, die Abfrage einfach so auszuführen, wie Sie es bereits tun, und das Ergebnis im Client (z. B. PHP) umzuwandeln.