首页 >数据库 >mysql教程 >如何在 MS SQL Server 2008 中对时间间隔进行分组?

如何在 MS SQL Server 2008 中对时间间隔进行分组?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-15 15:07:43227浏览

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