Heim >Datenbank >MySQL-Tutorial >Wie kann ich Zeitintervalle in MS SQL Server 2008 gruppieren?
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!