我有以下查询返回总金额。
select sum(cast(dollars as dec)) from financials
这包括正面和负面的价值观。我想要两件事:
谢谢。
请尝试以下查询。谢谢。
1) select sum(cast(dollars as dec))
from financials
where dollars > 0;
2) select sum(cast(abs(dollars) as dec))
from financials;
FOR 1)使用条件SUM()
SELECT SUM( CASE WHEN dollars > 0 then dollars ELSE 0 END) as positive_sum,
SUM( CASE WHEN dollars < 0 then dollars ELSE 0 END) as negative_sum
FROM financials
FOR 2)使用ABS()
SELECT SUM( ABS( dollars ) )
FROM financials
您有两个查询。解决方案如下
1.
select sum(dollars) from financials
2.
select sum((case when dollars>0 then dollars end))+sum((case when dollars<0 then -1*dollars end)) from financials