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

Aggregieren von Daten nach Zeitspanne in MySQL

Ich hatte eine ähnliche Frage:collating-stats-into-time-chunks und hatte es sehr gut beantwortet. Im Wesentlichen lautete die Antwort:

Vielleicht können Sie die Funktion DATE_FORMAT() und die Gruppierung verwenden. Hier ist ein Beispiel, hoffentlich können Sie es an Ihre genauen Bedürfnisse anpassen.

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" )

Wenn Ihr Zeitfenster mehr als einen Tag umfasst und Sie das Beispielformat verwenden, werden Daten von verschiedenen Tagen in „Tagesstunden“-Buckets aggregiert. Wenn die Rohdaten nicht genau auf die Stunde fallen, können Sie sie mit "%H:00."

glätten

Vielen Dank an Martin Clayton für die Antwort, die er mir gegeben hat.