按上午4点到凌晨4点的值分组SQL Server

Mad*_*han 3 sql t-sql grouping group-by sql-server-2008

我有数据从04/01/2012 00:00到05/01/2012 05:00

说吧

StartDate              Value 
04/01/2012 00:00       10 
04/01/2012 05:00       10 
04/01/2012 08:00       10

05/01/2012 01:00       10
05/01/2012 04:00       10
05/01/2012 05:00       10
Run Code Online (Sandbox Code Playgroud)

如果我按日期分组

SUM(Value)...
GROUP BY YEAR(StartDate), MONTH(StartDate),DAY(StartDate)
Run Code Online (Sandbox Code Playgroud)

此组数据从04/01/2012 00:00到05/01/2012 00:00并将全天值相加,即30

但我需要在不同的时间分组

即04/01/2012 04:00至05/01/2012 04:00以便结果为40

如何实现这一目标.之前有人这样做过......

gbn*_*gbn 5

SUM(Value)
...
GROUP BY CAST(DATEADD(hour, -4, MyDateCol) AS Date)
Run Code Online (Sandbox Code Playgroud)