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

Agréger des données par période dans MySQL

J'avais une question similaire :collating-stats-into-time-chunks et avait très bien répondu. En gros, la réponse était :

Vous pouvez peut-être utiliser la fonction DATE_FORMAT() et le regroupement. Voici un exemple, j'espère que vous pourrez l'adapter à vos besoins précis.

SELECT
    DATE_FORMAT( time, "%H:%i" ),
    SUM( bytesIn ),
    SUM( bytesOut )
FROM
    stats
WHERE
    time BETWEEN <start> AND <end>
GROUP BY
    DATE_FORMAT( time, "%H:%i" )

Si votre fenêtre horaire couvre plus d'une journée et que vous utilisez le format d'exemple, les données de différents jours seront agrégées dans des compartiments "heure de la journée". Si les données brutes ne correspondent pas exactement à l'heure, vous pouvez les lisser en utilisant "%H:00".

Merci à martin clayton pour la réponse qu'il m'a fournie.