mysql - 复杂的 MySQL 贷方借方余额

标签 mysql

我有一个名为“Stock”的表,如下所示。

+-----------+--------------+---------------+---------+
| client_id |       date   |       credit  |    debit|
+-----------+--------------+---------------+---------+
|         1 |   01-01-2015 |            50 |       0 |
|         2 |   01-01-2015 |           250 |       0 |
|         2 |   01-01-2015 |           500 |       0 |
|         2 |   02-01-2015 |             0 |     500 |
|         1 |   02-01-2015 |             0 |      40 |
|         1 |   02-01-2015 |             0 |      80 |
|         3 |   05-01-2015 |          3000 |       0 |
|         2 |   06-01-2015 |             0 |     350 |
|         4 |   06-01-2015 |             0 |    1000 |
|         4 |   06-01-2015 |             0 |    2000 |
|         4 |   07-01-2015 |           500 |       0 |
|         5 |   07-01-2015 |           500 |       0 |
|         5 |   08-01-2015 |           500 |       0 |
|         1 |   09-01-2015 |             0 |     100 |
+-----------+--------------+---------------+---------+

我期待的结果是这样的:

+---------+-----------+-------------+--------+---------+----------+
|client_id|  date     |Open_Balance | credit |  debit  | balance  |
+---------+-----------+-------------+--------+---------+----------+
|       1 |01-01-2015 |           0 |     50 |       0 |       50 |
|       1 |02-01-2015 |          50 |      0 |      40 |       10 |
|       1 |02-01-2015 |          10 |      0 |      80 |      -70 |
|       1 |09-01-2015 |         -70 |      0 |     100 |     -170 |
|       2 |01-01-2015 |           0 |    250 |       0 |      250 |
|       2 |01-01-2015 |         250 |    500 |       0 |      750 |
|       2 |02-01-2015 |         750 |      0 |     500 |      250 |
|       2 |06-01-2015 |         250 |      0 |     350 |     -100 |  
|       3 |05-01-2015 |           0 |   3000 |       0 |     3000 |
|       4 |06-01-2015 |           0 |      0 |    1000 |    -1000 |
|       4 |06-01-2015 |       -1000 |      0 |    2000 |    -3000 |
|       4 |07-01-2015 |       -3000 |    500 |       0 |    -2500 |
|       5 |07-01-2015 |           0 |    500 |       0 |      500 |
|       5 |08-01-2015 |         500 |    500 |       0 |     1000 |
+---------+-----------+-------------+--------+---------+---- -----+

我需要按 client_id 和日期顺序计算余额和未结余额,如上所示。请帮忙。

最佳答案

尝试运算符

喜欢

SELECT client_id,date,credit,debit,(credit-debit) as balance FROM  Stock;

谢谢。

关于mysql - 复杂的 MySQL 贷方借方余额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28737952/

相关文章:

python - Django objects.all() 方法不返回任何数据

php - 使用输入序列时如何更新排序顺序?

MySQL 不将字符串转换为 int,尽管进行了转换

mysql - 如何在EXPRESSJS/MYSQL中获取父子关系?

mysql - 我想查看表中外键引用的信息

mysql - 更改sql的目录文件名

java - Android 应用程序和外部数据库之间通信的最佳方式

java - 无法使用java在mysql中存储印地语文本

php - 如何从 php 中的查询字符串传递字符串数据类型值

mysql - 如何修复此服务器版本最新版本安装在此位置无效的 WITH 语句