如何解决在此表中是否有方法可以按时间间隔进行分组?
在sql Server中,可以使用DATEPART,然后按小时,分钟和第二整数除法10进行分组。
CREATE TABLE #times
(
thetime time,
A int
)
INSERT #times
VALUES ('10:00:01', 2)
INSERT #times
VALUES ('10:00:07', 4)
INSERT #times
VALUES ('10:00:10', 2)
INSERT #times
VALUES ('10:00:17', 1)
INSERT #times
VALUES ('10:00:18', 3)
SELECT avg(A) -- <-- here you might deal with precision issues if you need non-integer results. eg: (avg(a * 1.0)
FROM #times
GROUP BY datepart(hour, thetime), DATEPART(minute, thetime), DATEPART(SECOND, thetime) / 10
DROP TABLE #times
解决方法
我有一张这样的表:
DateTime A
10:00:01 2
10:00:07 4
10:00:10 2
10:00:17 1
10:00:18 3
是否可以创建一个查询,该查询每10秒向我返回A的平均值?在这种情况下,结果将是:
3 (4+2)/2
2 (2+1+3)/3
提前致谢!
编辑:如果您真的认为无法做到这一点,那就说不行!:)这是一个可以接受的答案,我真的不知道是否可以做到。
EDIT2:我正在使用SQL
Server2008。我希望具有不同的分组,但已修复。例如,范围分别为10秒,1分钟,5分钟,30分钟,1小时和1天(仅是一个示例,但类似的东西)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。