我正在寻找一种求和多行的方法,并选择其中一行的唯一ID作为求和行的唯一ID ..如果这样做了吗?
例如,如果我有这样的表
ID | Value1 Value2 Text1 Text2
---------|-------------------------------------------
1 | 100 150 Bananas Hawaii
2 | 200 100 Bananas Hawaii
3 | 300 200 Bananas Hawaii
---------|--------------------------------------------
1,2 or 3 | 600 450 Bananas Hawaii
要获得结果行,我会做类似的事情
SELECT
sum(Value1) as Value1
sum(Value2) as Value2
FROM
db..table
GROUP BY
Text1
,Text2
但是我需要只检索其中一个ID以放在我的结果行上,我不在乎它会是1,2或3。
原因是,我有一个庞大的数据库和一个大程序来检索数据,但是由于一些新的编程我现在可以突然拥有更多相同的行,但是具有不同的唯一ID,因此我对此感兴趣对行进行求和并保留其中一个唯一ID。
为结果行分配一个新的唯一ID对我没有帮助,因为现在一切都是设计的。
我使用的是Microsoft SQL Server 2005。
答案 0 :(得分:1)
请尝试:
SELECT
min(ID) as ID,
sum(Value1) as Value1,
sum(Value2) as Value2
FROM
db..table
GROUP BY
Text1
,Text2
答案 1 :(得分:1)
您可以使用其他聚合,例如MIN
或MAX
SELECT min(ID) as ID
,sum(Value1) as Value1
,sum(Value2) as Value2
FROM
db..table
GROUP BY
Text1
,Text2