3

我有一些数据如下(这里只有几行示例,tablesize > n一千个条目)

timestamp         duration

2012-09-30T22:00  10800
2012-10-01T08:00   7200
2012-10-01T15:00   3600
2012-10-01T22:00  10800
2012-10-02T07:00   3600
2012-10-02T14:00  18000

并旨在实现以下目标:

date               totalDuration

2012-09-30        21600
2012-10-01        32400

等等。

持续时间应按时间间隔求和,在此示例中,时间间隔从22:00每天开始。它是 SQL Server 2008。

4

1 回答 1

3
select 
    cast(dateadd(hour, -22, date) as date), 
    sum(duration) totalDuration
from yourtable
group by cast(dateadd(hour, -22, date) as date)

但是,您应该注意,2012-09-30T22:00并且2012-10-01T22:00不应该在同一个“时间框架日”。2012-09-30T22:00并且2012-10-01T21:59可以在同一天。

将此与具有 1-10 和 10-20 之类的阈值进行比较。10属于哪里?

于 2012-11-13T22:05:57.157 回答