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

MySQL:riempimento di campi vuoti con zero quando si utilizza GROUP BY

Crea un'altra tabella con una singola colonna,

CREATE TABLE hours_list (
    hour int NOT NULL PRIMARY KEY
)

Riempilo per tutte le 24 ore.

Quindi esegui un join su quella tabella per riempire gli zeri.

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