Heim >Datenbank >MySQL-Tutorial >Wie gruppiere ich MySQL-Zeitstempeldaten in benutzerdefinierte Zeitsegmente für Summen- und Durchschnittsberechnungen?

Wie gruppiere ich MySQL-Zeitstempeldaten in benutzerdefinierte Zeitsegmente für Summen- und Durchschnittsberechnungen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-04 10:30:35989Durchsuche

How to Group MySQL Timestamp Data into Custom Time Segments for Sum and Average Calculations?

Gruppieren von Zeitsegmenten für Summen- und Durchschnittsberechnungen

In der MySQL-Datenbank können Sie zusammengefasste Daten aus einer Tabelle abrufen, die zeitgestempelte Datensätze mit variierenden Daten enthält Intervalle zwischen den Aufnahmen. Ihr Ziel besteht darin, diese Datensätze zu gruppieren und Summen- und Durchschnittswerte für bestimmte Zeitabschnitte zu berechnen, z. B. 10 Sekunden oder 30 Sekunden.

LÖSUNG

Der Schlüssel zur Gruppierung von Zeit Segmente liegt in der GROUP BY-Klausel. Um Daten basierend auf 30-Sekunden-Intervallen zu gruppieren und zusammenzufassen, verwenden Sie den folgenden Befehl:

GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 30

Dieser Ausdruck dividiert den Unix-Zeitstempel jedes Datensatzes durch 30 und rundet auf die nächste 30-Sekunden-Marke ab. Dadurch werden Datensätze innerhalb desselben 30-Sekunden-Intervalls gruppiert.

Zeitsegmentgrenzen anpassen

Sie können die Grenzen Ihrer Zeitsegmente durch Anpassen ändern der Nenner im DIV-Ausdruck. Um beispielsweise in 20-Sekunden-Intervallen zu gruppieren:

GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 20

Zeitsegmente puffern

Um Ihren Zeitsegmenten einen Puffer hinzuzufügen, können Sie die folgende Formel verwenden :

GROUP BY (UNIX_TIMESTAMP(time_stamp) + r) DIV 30

In diesem Ausdruck stellt r eine nicht negative ganze Zahl kleiner als 30 dar. Durch Hinzufügen eines Werts zum Zeitstempel können Sie überlappende Zeitabschnitte erstellen. Zum Beispiel:

GROUP BY (UNIX_TIMESTAMP(time_stamp) + 5) DIV 30

Diese Abfrage gruppiert Datensätze in Zeitsegmente von hh:mm:05 bis hh:mm:35 und von hh:mm:35 bis hh:mm 1:05.

Das obige ist der detaillierte Inhalt vonWie gruppiere ich MySQL-Zeitstempeldaten in benutzerdefinierte Zeitsegmente für Summen- und Durchschnittsberechnungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn