从表中计算重复项

Mr *_*r A 1 sql t-sql sql-server asp.net

我有一张桌子,我在下面提到,我需要得到一个总结果,避免重复,任何人可以提供任何帮助或建议如何获得下面提到的结果,thankyu

ID      name    Total   Used
24     John     5        2
24     John     10       6
27     Peter    20       0
27     Peter    20       5
Run Code Online (Sandbox Code Playgroud)

结果应该是这样的

ID      name    Total   Used
24     John     15       8
27     Peter    40       5
Run Code Online (Sandbox Code Playgroud)

Tar*_*ryn 9

看起来你只需要SUM()在两列上使用.还要GROUP BY在id和name上使用a

SELECT id, name, sum(total) All_total, sum(used) All_used
FROM yourtable
GROUP BY id, name
Run Code Online (Sandbox Code Playgroud)

看看SQL Fiddle with Demo

GROUP BY字段必须包括您所选择那些不是在聚合函数中的任何其他列,所以这个例子中你将包括idnameGROUP BY.

编辑#1您的查询将是:

SELECT [ID] , name, sum([Total]), sum([Used]), [GUID] 
FROM [table].[dbo].[vw_data] 
GROUP BY [ID], [name], [GUID] 
Run Code Online (Sandbox Code Playgroud)