Heim >Datenbank >MySQL-Tutorial >Wie kann ich Zeitreihendaten in MySQL nach 10-Sekunden-, 30-Sekunden- oder anderen Intervallen gruppieren?
SELECT / GROUP BY – Zeitsegmente (10 Sekunden, 30 Sekunden usw.)
In MySQL ist es möglich, aggregierte Daten abzurufen Daten aus einer Tabelle basierend auf Zeitintervallen mithilfe der SELECT- und GROUP BY-Klauseln. Stellen Sie sich ein Szenario vor, in dem Sie über eine Tabelle verfügen, die alle n Sekunden Stichproben aufzeichnet, mit zwei relevanten Spalten: Zeitstempel und Anzahl.
Um Summen oder Durchschnittswerte der Zählungsspalte gruppiert nach bestimmten Zeitintervallen zu erhalten, führen Sie die folgenden Schritte aus:
Verwenden Sie das Ergebnis aus Schritt 2 als Gruppierungskriterium in der GROUP BY-Klausel, wie in der folgenden Abfrage dargestellt:
SELECT UNIX_TIMESTAMP(time_stamp) DIV 10, SUM(count) FROM table GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 10;
Diese Abfrage gruppiert die Daten in 10-Sekunden-Intervallen. Summieren der Zählwerte innerhalb jedes Intervalls.
Passen Sie bei Bedarf die Grenzen zwischen den Intervallen an, indem Sie dem Zeitstempel einen Offset hinzufügen. Um beispielsweise nach Intervallen von hh:mm:05 bis hh:mm:35 zu gruppieren, verwenden Sie:
GROUP BY (UNIX_TIMESTAMP(time_stamp) + 5) DIV 10
Durch die Nutzung der Funktionen GROUP BY und UNIX_TIMESTAMP können Sie effizient aggregieren Daten aus Zeitreihentabellen basierend auf verschiedenen Zeitsegmenten, die Einblicke in Muster und Trends im Zeitverlauf bieten.
Das obige ist der detaillierte Inhalt vonWie kann ich Zeitreihendaten in MySQL nach 10-Sekunden-, 30-Sekunden- oder anderen Intervallen gruppieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!