Heim >Datenbank >MySQL-Tutorial >Wie kann ich Zeitdaten in SQL effizient nach Stunden- oder 10-Minuten-Intervallen gruppieren?
Detaillierte Erläuterung der SQL-Zeitdatengruppierung
Bei der Datenanalyse erfordert die Verarbeitung von Zeitreihendaten normalerweise eine Gruppierung nach Zeit, um Muster effizient zusammenzufassen und zu identifizieren. Die GROUP BY
-Klausel in SQL kann dies erreichen, aber die genaue Angabe der Gruppierungsgranularität ist manchmal schwierig.
Gruppieren Sie nach Stunden- oder 10-Minuten-Intervallen
In MS SQL 2008 können Sie die Funktion DATEPART
verwenden, um Zeiten nach Stunden oder 10-Minuten-Intervallen zu gruppieren. Diese Funktion empfängt ein Datumsfeld als Eingabe und gibt den angegebenen Teil dieses Datums zurück. Um nach Stunden zu gruppieren, verwenden Sie:
<code class="language-sql">GROUP BY DATEPART(HOUR, [Date])</code>
Gruppieren Sie auf ähnliche Weise nach 10-Minuten-Intervallen:
<code class="language-sql">GROUP BY (DATEPART(MINUTE, [Date]) / 10)</code>
Millisekunden aus der Datumsausgabe entfernen
In manchen Fällen kann es notwendig sein, Millisekunden von der generierten Datums-/Uhrzeitausgabe auszuschließen. Dazu können Sie die folgende Formel verwenden:
<code class="language-sql">DATEPART(YEAR, DT.[Date]) -- 年份 DATEPART(MONTH, DT.[Date]) -- 月份 DATEPART(DAY, DT.[Date]) -- 天 DATEPART(HOUR, DT.[Date]) -- 小时 (DATEPART(MINUTE, DT.[Date]) / 10) -- 10分钟间隔(无毫秒)</code>
Das obige ist der detaillierte Inhalt vonWie kann ich Zeitdaten in SQL effizient nach Stunden- oder 10-Minuten-Intervallen gruppieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!