2013-07-17 36 views
5

phép nói rằng tôi có bảng với điều đó trông giống như sau:
SQL giá trị tuyệt đối sum và lặp

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

Cách thức tôi có thể làm cho nó vì vậy tôi có được kết quả:

total_amt ---- cusip_nbr

21000 --------- --------------- 00162Q205
21900 ----------------------- 33733B100
10200 ---- -------- Bas 46 -------- -------- -------- -------- -------- ---- tổng giá trị tuyệt đối tương ứng. (Chỉ có ba biệt cusip_nbr 's được hiển thị ở đây nhưng tôi có hàng trăm trong số họ, mỗi một cns_amt mà cần phải được tóm tắt)

Trả lời

11

Bạn có thể sử dụng ABS() để lấy giá trị tuyệt đối, và SUM():

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

Bản trình diễn: SQL Fiddle

0
select cusip_nbr, sum(abs(cns_amt)) total_amt from table_name group by cusip_nbr 
Các vấn đề liên quan