TID StartTime Uid WId
1 2011-06-06 09:30:00.000 10 1.5
2 2011-06-06 09:40:00.000 10 3.5
3 2011-06-06 09:50:00.000 10 1.0
4 2011-06-06 10:45:00.000 10 2.5
5 2011-06-06 10:50:00.000 10 1.5
6 2011-06-06 10:55:00.000 10 0
7 2011-06-06 11:30:00.000 10 0
8 2011-06-06 11:35:00.000 10 0
9 2011-06-06 11:40:00.000 10 0
10 2011-06-06 11:43:00.000 10 0
11 2011-06-06 11:20:00.000 11 7.0
12 2011-06-06 11:30:00.000 11 1.0
我有表TblTask数据基于计数或权重需要的输出,我需要编写一个查询来计算(SUM(WID)或Count(TID的))基于每个开始时间的时间差另一个启动时间的时差为1小时或接近1小时由UID分组。基于为TimeDifference
例如先取时间(2011-06-06 09:30:00); < = 1小时的最近开始时间为(2011-06-06 10:30:00.000)(如果SUM(Wid)> = 5.0或行数≥5)。这里的权重是(1.5 + 3.5 + 1.0 = 6.0) TID的(3,4,5)Here Weights是(1.0),我们需要显示记录和 前3行TID(1,2,3) + 2.5 + 1.5 = 5.0) 对于TID'd(4,5,6,7,8,9,10)这里计数(TID是7)所以我想显示所有记录从4到10
TID的(5,6,7,8,9,10)为Count(TID's> 5)我想显示从5到10的所有记录
对于TID(6,7,8,9,10)as计数(TID是= 5)我想显示从6到10的所有记录
对于TID 11,因为WID> 5我想显示记录11
对于TID的(11,12)为WID> 5,我再次想显示记录11和12
所需的输出将是:
TID StartTime Uid
1 2011-06-06 09:30:00.000 10
2 2011-06-06 09:40:00.000 10
3 2011-06-06 09:50:00.000 10
3 2011-06-06 09:50:00.000 10
4 2011-06-06 10:45:00.000 10
5 2011-06-06 10:50:00.000 10
4 2011-06-06 10:45:00.000 10
5 2011-06-06 10:50:00.000 10
6 2011-06-06 10:55:00.000 10
7 2011-06-06 11:30:00.000 10
8 2011-06-06 11:35:00.000 10
9 2011-06-06 11:40:00.000 10
10 2011-06-06 11:43:00.000 10
5 2011-06-06 10:50:00.000 10
6 2011-06-06 10:55:00.000 10
7 2011-06-06 11:30:00.000 10
8 2011-06-06 11:35:00.000 10
9 2011-06-06 11:40:00.000 10
10 2011-06-06 11:43:00.000 10
6 2011-06-06 10:55:00.000 10
7 2011-06-06 11:30:00.000 10
8 2011-06-06 11:35:00.000 10
9 2011-06-06 11:40:00.000 10
10 2011-06-06 11:43:00.000 10
11 2011-06-06 11:20:00.000 11
11 2011-06-06 11:20:00.000 11
12 2011-06-06 11:30:00.000 11
你能再试一次重申你的算法?如果他们是连续的,你想要每小时的乐队,但总是在一小时后将乐队的开始时间重置到下一个起点? – billinkc