我该如何使用MYSQL计算余额金额

时间:2016-03-05 18:45:31

标签: mysql

ID  Type    Type_Description    Amount  Balance
41  85  incoming transaction      100     100
41  55  outgoing transaction     76.6    23.4
41  55  outgoing transaction     23.4       0
41  90  incoming transaction     24.1    24.1
41  55  outgoing transaction    14.19    9.91
41  63  Sweep Off Amount         9.91       0
42  85  incoming transaction      100     100
42  55  outgoing transaction     76.6    23.4
42  55  outgoing transaction     23.4       0
42  90  incoming transaction     24.1    24.1
42  55  outgoing transaction    14.19    9.91
42  63  Sweep Off Amount         9.91       0

我想从Trs_Amount计算余额,其中
Transaction_Type == 85表示(初始)进入交易和
Transaction_Type == 55一个外发交易
Transaction_Type == 90是临时信用,应该添加到余额(在交易级别)和
最后,我必须为每个ID创建一个行,其中包含剩余的金额(清除金额)Transaction_Type == 63。

1 个答案:

答案 0 :(得分:0)

您还没有给我们任何可以使用的架构,所以我做出了合理的假设。

试试这个:

insert into Trs (Trs_ID, Trs_Type, Amount)
select * from (
  select ID, 63, sum(amount * case when Trs_type = 55 then -1 else 1 end)
  from Trs
  group by ID, 63) x