SQL绝对值sum和iterate

eug*_*220 6 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)

Har*_* CO 13

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

SELECT cusip_nbr, SUM(ABS(cns_amt)) 'total_amt'
FROM Table
GROUP BY cusip_nbr
Run Code Online (Sandbox Code Playgroud)

演示: SQL小提琴