我希望使用另一个字段
来结转字段值这是我的表格交易
------------------------------
id | amount | is_income |
------------------------------
1 | 400 |1
2 | 100 |0
3 | 300 |1
我希望得到像
这样的结果--------------------------------------
id | amount | is_income |Balance |
--------------------------------------
1 | 400 |1 | 400
2 | 100 |0 | 300
3 | 300 |1 | 600
如果is_income字段为1,则按之前的金额添加金额。如果is_income字段为0,则用之前的金额减去。
如果有任何方法在没有存储过程的情况下获得结果?
答案 0 :(得分:3)
试试这个:
SET @balance = 0;
SELECT * , IF( is_income =1, @balance := @balance + amount, @balance := @balance - amount ) AS balance FROM `your table name `