对SQL Server中特定ID值的总和

时间:2015-07-24 21:53:06

标签: sql-server sum aggregate

说,我的表中有3列:

---------------
name                 | ID  | Amt
ABC                  |  1  | 500
ABC                  |  1  | 650
XYZ                  |  2  | 700
XYZ                  |  2  | 550
DEF                  |  3  | 200

如何获取每个ID聚合金额的输出,即 ABC给出1150,XYZ 1250和DEF 200?

3 个答案:

答案 0 :(得分:1)

你想要一个小组,听起来像你的例子中的总和:

Select Name, ID, sum(amt) as TotalAmt
from MyTable
Group by Name, ID

答案 1 :(得分:0)

SELECT name,SUM(Amt) FROM [table] GROUP BY name

或者,如果要显示名称和ID

SELECT name,ID,SUM(Amt) OVER (PARTITION BY name) FROM [table]

答案 2 :(得分:0)

这可以使用简单的group by语句来完成:

select name,
       id,
       sum(amt) as agg_sum
from total
group by name,id;

SQL Fiddle Demo