AUSWÄHLEN/GROUPIEREN NACH – Zeitintervalle segmentieren (10 Sekunden, 30 Sekunden usw.)
Um die Anfrage nach der Aggregation von Daten zu bearbeiten Um benutzerdefinierte Zeitbereiche innerhalb einer Zeitreihentabelle zu erstellen, können wir die GROUP BY-Klausel verwenden. Standardgruppierungsmechanismen stimmen jedoch möglicherweise nicht mit den gewünschten Segmenten überein.
Um Daten in 10-Sekunden- oder 30-Sekunden-Intervallen zu gruppieren, können wir die Funktion UNIX_TIMESTAMP nutzen, um den Zeitstempel in eine numerische Darstellung umzuwandeln und ihn dann zu verwenden der DIV-Operator. Um beispielsweise in 30-Sekunden-Intervallen zu gruppieren:
GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 30
Ähnlich gilt für 20-Sekunden-Intervalle:
GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 20
Um die Segmentgrenzen anzupassen, können wir die folgende Formel verwenden:
GROUP BY (UNIX_TIMESTAMP(time_stamp) + r) DIV 30
Wobei „r“ eine nichtnegative Ganzzahl kleiner als 30 darstellt. Zum Beispiel zum Gruppieren 15-Sekunden-Intervalle:
GROUP BY (UNIX_TIMESTAMP(time_stamp) + 5) DIV 30
Dadurch werden Segmente von hh:mm:05 bis hh:mm:35 und von hh:mm:35 bis hh:mm 1:05 generiert. Durch den Einsatz dieser Techniken können wir Daten effektiv über benutzerdefinierte Zeitintervalle aggregieren und so eine detaillierte Analyse und Datenzusammenfassung ermöglichen.
Das obige ist der detaillierte Inhalt vonWie kann ich Zeitintervalle (z. B. 10 Sekunden, 30 Sekunden) mithilfe von SQLs GROUP BY segmentieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!