说,我的表中有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?
答案 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;