我有一个交易表(如图所示)
https://i.ibb.co/7pdYxxm/hhhhhh.jpg
有交易类型(借方/贷方) 我需要一个SQL查询来计算每个帐户的余额(贷项总和-债务总和) 因此,我们按account_id分组...但是如何单独对贷方和借方求和呢?
我在PostgreSQL上!谢谢!
答案 0 :(得分:0)
尝试一下:
Select sum(Transaction_Amount),
Account_Id,
Transaction_Type
From Table_Name
Group By
Account_Id,
Transaction_Type
答案 1 :(得分:0)
我认为当类型='C'时,必须减去金额。
select account_id, sum((case when transaction_type = 'C' then -1 else 1 end) * transaction_amount)
from trans
group by account_id
根据交易类型,金额乘以1或-1。
答案 2 :(得分:0)
这是实现此目的的简便方法:
选择account_id, sum((如果transaction_type ='C'然后1,否则0结尾)* transaction_amount)作为sum_of_credit, sum((transaction_type ='D'然后1否则0结束的情况)* transaction_amount)为sum_of_debit 从YourTableNameHere按account_id分组;