首頁 >資料庫 >mysql教程 >如何在 MS SQL Server 2008 中將時間間隔分組?

如何在 MS SQL Server 2008 中將時間間隔分組?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-15 15:07:43225瀏覽

How Can I Group Time Intervals in MS SQL Server 2008?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn