2016-11-28 30 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