猿问

mysql 关于用户账目明细设计的问题

本期余额=上次余额+收入-支出

怎么能让明细的表现变成这种的

时间 ----------- 交易类型 ---- 收入/支出 ---- 可用余额

2018-03-13 ---- 购买 ---------- -100 ---------- 270
2018-03-12 ---- 出售 ------------ 50 ----------- 370
2018-03-11 ---- 充值 ------------ 50 ----------- 320
2018-03-10 ---- 购买 ----------- -30 ----------- 270
2018-03-09 ---- 充值 ----------- 300 ---------- 300

流水表结构是这样的。

用户id --- 时间 ----------- 交易类型 ------ 操作类型 ----- 变动金额
----1 -----2018-03-09 ------ 充值 ------------ 收入---------- 300
----1 -----2018-03-10 ------ 购买 ------------ 支出---------- 30
----1 -----2019-03-11 ------ 充值 ------------ 收入---------- 50
----1 -----2019-03-12 ------ 出售 ------------ 支出---------- 50
----1 -----2019-03-13 ------ 购买 ------------ 支出---------- 100

不用单独记录这种余额字段,可用余额就是统计出来的。

有经验的朋友指点一下好吗?现在就是不知道怎么统计出这种效果。

哆啦的时光机
浏览 784回答 3
3回答

萧十郎

数据库里流水表记录金额变动的时候就记录好当时的余额。既能实现你这个功能,也方便审计 不动数据库的话,先查出所有的明细,然后根据类型自己计算出来每一笔对应的余额。 其他的想不到了,或者可以两个结合,按日期分段来记录余额,查询的时候只要算少量的流水就能算出来,感觉没什么必要
随时随地看视频慕课网APP
我要回答