我有一张这样的桌子
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我想要的是分组相同的命名团队,这也是连续的团队(这是根据顺序列)
因此,结果表应该如下所示
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列添加到我的表中。
发布于 2010-04-26 16:44:46
你的例子中有一个问题。为什么第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
https://stackoverflow.com/questions/2711859
复制相似问题