2016-11-28 70 views
1

的假設我有一個表,如:琛兩排

ID1 ID2 Country Value 
1 2 GER  1000 
1 2 USA  12 
2 2 USA  13 
3 2 MEX  16 

現在我想SQL合併行,其中兩個ID1和ID2是相同的。然後,計算「價值」的總和。 「國家」一欄應保留並繼續其中的一個名稱(無關緊要)。

因此,最終的事情應該是:

ID1 ID2 Country Value 
1 2 GER  1012 
2 2 USA  13 
3 2 MEX  16 

任何想法? :-)

回答

2

只需按兩個id列進行分組,然後使用聚合函數來計算其他列。

SUM()容易爲value

明顯的聚集然後你可以使用MIN()MAX()進行任意選擇的country

SELECT 
    id1, 
    id2, 
    MAX(country), 
    SUM(value) 
FROM 
    your_table 
GROUP BY 
    id1, 
    id2