作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下名为 CashFlow 的 MySQL 表,它们有每月贷款账户的详细信息,如月份 ID、贷款账户号、分期付款、逾期金额
FMONTH | ACTNO | INSTALLMENT | OVERDUE
--------------------------------------
1 | 1001 | 500 | 10000
2 | 1001 | 500 |
3 | 1001 | 500 |
1 | 2001 | 1500 | 20000
2 | 2001 | 1500 |
3 | 2001 | 1500 |
我想按如下方式显示此列表
FMONTH | ACTNO | INSTALLMENT | OVERDUE
--------------------------------------
1 | 1001 | 500 | 10000
2 | 1001 | 500 | 9500
3 | 1001 | 500 | 9000
1 | 2001 | 1500 | 20000
2 | 2001 | 1500 | 18500
3 | 2001 | 1500 | 17000
我正在尝试很多技术,但不幸的是我无法在 MySQL 中完成这项工作
请帮我在MySQL中按上述格式计算下个月分期付款后的逾期金额。
最佳答案
从这里开始。在较大的数据集上,使用 vars 的解决方案会更快,但您可能会使用相同的子查询。
SELECT a.*
, SUM(b.payments) balance
FROM
( SELECT x.fmonth
, x.actno
, COALESCE(x.overdue,y.installment*-1) payments
FROM cashflow x
LEFT
JOIN cashflow y
ON y.actno = x.actno
AND y.fmonth = x.fmonth - 1
) a
JOIN
( SELECT x.fmonth
, x.actno
, COALESCE(x.overdue,y.installment*-1) payments
FROM cashflow x
LEFT
JOIN cashflow y
ON y.actno = x.actno
AND y.fmonth = x.fmonth - 1
) b
ON b.actno = a.actno
AND b.fmonth <= a.fmonth
GROUP
BY a.actno
, a.fmonth;
关于mysql - 在 Mysql 中计算余额并结转到下一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37003276/
我是一名优秀的程序员,十分优秀!