SQL時間資料分組詳解
資料分析中,處理時間序列資料通常需要按時間分組,以便高效匯總和識別模式。 SQL中的GROUP BY
子句可以實現此目的,但精確指定分組粒度有時比較棘手。
以小時或10分鐘間隔分組
在MS SQL 2008中,可以使用DATEPART
函數以小時或10分鐘間隔將時間分組。此函數接收日期欄位作為輸入,並傳回該日期的指定部分。按小時分組,使用:
<code class="language-sql">GROUP BY DATEPART(HOUR, [Date])</code>
類似地,以10分鐘間隔分組:
<code class="language-sql">GROUP BY (DATEPART(MINUTE, [Date]) / 10)</code>
去除日期輸出中的毫秒
在某些情況下,可能需要從產生的日期/時間輸出中排除毫秒。為此,可以使用以下公式:
<code class="language-sql">DATEPART(YEAR, DT.[Date]) -- 年份 DATEPART(MONTH, DT.[Date]) -- 月份 DATEPART(DAY, DT.[Date]) -- 天 DATEPART(HOUR, DT.[Date]) -- 小时 (DATEPART(MINUTE, DT.[Date]) / 10) -- 10分钟间隔(无毫秒)</code>
以上是如何在 SQL 中按小時或 10 分鐘間隔有效地對時間資料進行分組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!