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

MySQL:Füllen leerer Felder mit Nullen bei Verwendung von GROUP BY

Erstellen Sie eine weitere Tabelle mit einer einzelnen Spalte,

CREATE TABLE hours_list (
    hour int NOT NULL PRIMARY KEY
)

Füllen Sie es mit allen 24 Stunden aus.

Führen Sie dann einen Join für diese Tabelle durch, um die Nullen auszufüllen.

SELECT
    hs.hour as HOUR, COUNT(ws.ID) AS HOUR_STAT
FROM hours_list hs 
LEFT JOIN cms_webstat ws ON hs.hour = hour(ws.TIMESTAMP_X)
GROUP BY hs.hour
ORDER BY hs.hour DESC