TSQL基于其他列聚合值

问题描述 投票:-1回答:2

我的表格如下所示

Amount  Factor  Month   Customer
1       1       2       A   
3       1       2       A
4       -1      2       A
2       1       2       B   
2       1       2       B
3       -1      2       B
4       1       3       A   
5       1       3       A
6       -1      3       A

我想根据AmountMonth汇总(总和)Customer列。 Amounts应该与Factor列中的值相乘。

因此,结果应如下所示(可能是同一个表或新表的UPDATE):

Amount  Factor  Month   Customer
0       1       2       A   
1       1       2       B   
3       1       3       A
sql-server tsql group-by aggregate
2个回答
2
投票

试试以下

SELECT SUM(Amount * Factor) as Amount,Month,Customer
FROM tableName
GROUP BY Month,Customer

2
投票

我想这就是你想要的:

select month, customer, sum(amount * factor) as sum_amount
from t
group by month, customer;

我不确定你为什么要在结果集中使用factor

© www.soinside.com 2019 - 2024. All rights reserved.