我在 Microsoft SQL Server 2008 中有需要求和的数据。问题是我需要按 24 小时的时间段对总和进行分组。24 小时时段是从一天下午 3:00 到第二天下午 3:00。
例如
退出日期,值
1/1/2012 15:00, 5
1/1/2012 15:04, 6
1/1/2012 17:00, 7
2012 年 1 月 2 日 00:00,-5
1/2/2012 09:00, 10
1/2/2012 15:00, 31
总和应该是 54。我有以下查询,但是它将午夜到午夜的所有内容分组,而不是 3:00 pm 到 3:00 pm
SELECT dateadd(day,datediff(day,0, dateadd(hh, 0, DateExited) ),0) As SummaryDate, SUM(Value) as s1
FROM Test
where DateExited BETWEEN dateadd(year,datediff(year,0,GETDATE()),0) AND GetDate()
GROUP BY dateadd(day,datediff(day,0, dateadd(hh, 0, DateExited) ),0)
ORDER BY SummaryDate