MS SQL Server 2008 Zeitintervallgruppierung
Beim Arbeiten mit zeitbasierten Daten ist die Gruppierung von Datensätzen nach Zeitintervallen wie Stunden oder Minuten hilfreich. In Microsoft SQL Server 2008 bietet die GROUP BY
-Klausel hierfür eine praktische Möglichkeit.
Der folgende Code zeigt, wie Datensätze nach Stunden gruppiert werden:
<code class="language-sql">SELECT [Date] FROM [FRIIB].[dbo].[ArchiveAnalog] GROUP BY DATEPART(HOUR, [Date])</code>
Um Datensätze nach 10-Minuten-Intervallen zu gruppieren, verwenden Sie die folgende Syntax:
<code class="language-sql">SELECT MIN([Date]) AS RecT, AVG(Value) FROM [FRIIB].[dbo].[ArchiveAnalog] GROUP BY DATEPART(HOUR, [Date]), (DATEPART(MINUTE, [Date]) / 10) ORDER BY RecT</code>
Diese Abfrage gibt jedoch Datums-/Uhrzeitwerte zurück, die Millisekunden enthalten. Um Millisekunden auszuschließen, fügen Sie Ihrer Abfrage den folgenden Code hinzu:
<code class="language-sql">GROUP BY DATEPART(YEAR, DT.[Date]), DATEPART(MONTH, DT.[Date]), DATEPART(DAY, DT.[Date]), DATEPART(HOUR, DT.[Date]), (DATEPART(MINUTE, DT.[Date]) / 10)</code>
Das obige ist der detaillierte Inhalt vonWie kann ich Zeitintervalle in MS SQL Server 2008 gruppieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!