2010-04-26 88 views
1

我有這樣的SQL Server的「分組依據」

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列添加到我的表中。

回答

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 

結果:

neworder名(沒有列名)

1 A_Team 19

4 A_Team 2

3 B_Team 2

2 C_Team 3

+0

對於你提到的順序隊的問題,我編輯我的問題和ID字段添加到我的表,我沒有寫之前讓表格看起來更簡單一邊詢問。 – stckvrflw 2010-04-26 08:52:02