Zeitintervallgruppierung in SQL Server
Bei der Datenanalyse ist die Gruppierung von Daten nach Zeitintervallen von entscheidender Bedeutung, um Muster und Trends zu erkennen. In diesem Artikel wird erläutert, wie die Zeitgruppierung in Microsoft SQL Server 2008 implementiert wird, und es wird erläutert, wie eine Gruppierung nach Stunde oder 10 Minuten durchgeführt wird.
Gruppierung nach Stunde oder 10 Minuten
Um Zeiten nach Stunden zu gruppieren, verwenden Sie die Funktion DATEPART(HOUR, [Datum]). Für ein 10-Minuten-Intervall verwenden Sie (DATEPART(MINUTE, [Datum]) / 10). Die folgende geänderte Abfrage gruppiert Daten nach Stunde:
<code class="language-sql">SELECT MIN([Date]) AS RecT, AVG(Value) FROM [FRIIB].[dbo].[ArchiveAnalog] GROUP BY DATEPART(HOUR, [Date]) ORDER BY RecT</code>
Verwenden Sie für 10-Minuten-Intervalle:
<code class="language-sql">SELECT MIN([Date]) AS RecT, AVG(Value) FROM [FRIIB].[dbo].[ArchiveAnalog] GROUP BY (DATEPART(MINUTE, [Date]) / 10) ORDER BY RecT</code>
Millisekunden aus der Datumsausgabe entfernen
Um Millisekunden von der Ausgabe auszuschließen, verwenden Sie erneut die DATEPART-Funktion:
<code class="language-sql">SELECT MIN(DATEPART(HOUR, [Date])) AS RecT, AVG(Value) FROM [FRIIB].[dbo].[ArchiveAnalog] GROUP BY YEAR([Date]), MONTH([Date]), DAY([Date]), HOUR([Date]) ORDER BY RecT</code>
In dieser Abfrage wird die DATEPART-Funktion für jede Datumskomponente verwendet, um Millisekunden zu entfernen.
Das obige ist der detaillierte Inhalt vonWie gruppiere ich Zeitintervalle (stündlich oder 10 Minuten) in SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!