我有一些数据如下(这里只是几个示例行,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。
答案 0 :(得分: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属于哪里?