SQL绝对值sum和iterate

时间:2013-07-17 19:18:45

标签: sql sql-server sql-server-2008

让我们说我的桌子看起来像这样:

cns_amt ---- cusip_nbr

-3000 -------------------- 00162Q205
4000 -------------------- 00162Q205
6000 -------------------- 00162Q205
8000 -------------------- 00162Q205
10000 -------------------- 33733B100
-2900 -------------------- 33733B100
1000 -------------------- 33733B100
8000 -------------------- 33733B100
7000 -------------------- 464286178
-1200 -------------------- 464286178
1000 -------------------- 464286178
1000 -------------------- 464286178

我怎样才能做到这一点,我得到了结果:

total_amt ---- cusip_nbr

21000 ------------------------ 00162Q205
21900 ----------------------- 33733B100
10200 ------------------------ 4642861

基本上我想对每个不同的cusip_nbr的每个绝对值求和,并返回绘制每个cusip_nbr及其各自的绝对值和的结果。 (这里只显示了三个不同的cusip_nbr,但我有数百个,每个都有一个需要求和的cns_amt)

2 个答案:

答案 0 :(得分:13)

您可以使用ABS()获取绝对值,SUM()

SELECT cusip_nbr, SUM(ABS(cns_amt)) 'total_amt'
FROM Table
GROUP BY cusip_nbr

演示:SQL Fiddle

答案 1 :(得分:0)

select cusip_nbr, sum(abs(cns_amt)) total_amt from table_name group by cusip_nbr