SQL绝对值求和及迭代

标签 sql sql-server sql-server-2008

假设我有一个看起来像这样的 table :

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 )

最佳答案

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

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

演示:SQL Fiddle

关于SQL绝对值求和及迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17708406/

相关文章:

sql - SQL Server 使用分区删除重复项

SQL - 两个相互依赖的外键

sql - 如何在 phpmyadmin 中插入外键

sql - 外键约束的条件级联操作?

asp.net - 如何在 ASP.NET 中实现悲观锁定

.net - Windows 10 上的 SQL Server 2014

sql - 由于 case 语句,同一 ID 的多个实例填充在不同的列中

sql - 如何使用 SQL 有条件选择表行

.net - 在数据库上运行测试的策略

sql - INSERTing 作为输入接收的值列表