Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL :remplir les champs vides avec des zéros lors de l'utilisation de GROUP BY

Créez un autre tableau avec une seule colonne,

CREATE TABLE hours_list (
    hour int NOT NULL PRIMARY KEY
)

Remplissez-le avec toutes les 24 heures.

Faites ensuite une jointure sur cette table pour remplir les zéros.

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