MS SQL Server 2008 時間區間分組
處理基於時間的資料時,按小時或分鐘等時間間隔對記錄進行分組非常有用。在 Microsoft SQL Server 2008 中,GROUP BY
子句提供了一個方便的方法來實現此目的。
以下程式碼示範如何按小時將記錄分組:
<code class="language-sql">SELECT [Date] FROM [FRIIB].[dbo].[ArchiveAnalog] GROUP BY DATEPART(HOUR, [Date])</code>
要以 10 分鐘間隔將記錄分組,請使用以下語法:
<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>
但是,此查詢傳回包含毫秒的 datetime 值。若要排除毫秒,請將以下程式碼新增至您的查詢:
<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>
以上是如何在 MS SQL Server 2008 中將時間間隔分組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!