我有一张这样的表
ID ORDER TEAM TIME
IL-1 1 A_Team 11
IL-1 2 A_Team 3
IL-1 3 B_Team 2
IL-1 4 A_Team 1
IL-1 5 A_Team 1
IL-2 1 A_Team 5
IL-2 2 C_Team 3
我想要的是将同样命名的团队分组,这些团队也是顺序团队(根据ORDER列)
因此结果表应该看起来像
IL-1 1 A_Team 14
IL-1 2 B_Team 2
IL-1 3 A_Team 2
IL-2 1 A_Team 5
IL-2 2 C_Team 3
由于
编辑:根据nang的回答,我将ID列添加到我的表中。
答案 0 :(得分:0)
您的示例中存在问题。第6行和第2行为什么不是“顺序团队”?
1 A_Team 5
2 A_Team 3
但是,以下内容可能对您有用:
select neworder, name, sum([time]) from (
select min(n1.[order]) neworder, n2.[order], n2.name, n2.[time]
from mytable n1, mytable n2
where n1.Name = n2.Name
and n2.[order] >= n1.[order]
and not exists(select 1 from mytable n3 where n3.name != n1.name and n3.[order] > n1.[order] and n3.[order] < n2.[order])
group by n2.[order], n2.name, n2.[time]) x
group by neworder, name
结果:
新订单名称(无列名称)
1 A_Team 19
4 A_Team 2
3 B_Team 2
2 C_Team 3