SQL Server 中的时间区间分组
在数据分析中,按时间区间分组数据对于识别模式和趋势至关重要。本文探讨如何在 Microsoft SQL Server 2008 中实现时间分组,具体说明按小时或 10 分钟分组的方法。
按小时或 10 分钟分组
要按小时分组时间,请使用 DATEPART(HOUR, [Date]) 函数。对于 10 分钟的间隔,请使用 (DATEPART(MINUTE, [Date]) / 10)。以下修改后的查询按小时分组数据:
<code class="language-sql">SELECT MIN([Date]) AS RecT, AVG(Value) FROM [FRIIB].[dbo].[ArchiveAnalog] GROUP BY DATEPART(HOUR, [Date]) ORDER BY RecT</code>
对于 10 分钟的间隔,请使用:
<code class="language-sql">SELECT MIN([Date]) AS RecT, AVG(Value) FROM [FRIIB].[dbo].[ArchiveAnalog] GROUP BY (DATEPART(MINUTE, [Date]) / 10) ORDER BY RecT</code>
从日期输出中去除毫秒
要从输出中排除毫秒,请再次使用 DATEPART 函数:
<code class="language-sql">SELECT MIN(DATEPART(HOUR, [Date])) AS RecT, AVG(Value) FROM [FRIIB].[dbo].[ArchiveAnalog] GROUP BY YEAR([Date]), MONTH([Date]), DAY([Date]), HOUR([Date]) ORDER BY RecT</code>
在此查询中,DATEPART 函数用于每个日期组件以去除毫秒。
以上是如何在 SQL Server 中对时间间隔(每小时或 10 分钟)进行分组?的详细内容。更多信息请关注PHP中文网其他相关文章!