首页 >数据库 >mysql教程 >如何在 SQL Server 中对时间间隔(每小时或 10 分钟)进行分组?

如何在 SQL Server 中对时间间隔(每小时或 10 分钟)进行分组?

DDD
DDD原创
2025-01-15 14:56:47496浏览

How to Group Time Intervals (Hourly or 10-Minute) in SQL Server?

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn