微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

累积非负和/递归累积和计算

如何解决累积非负和/递归累积和计算

我尝试创建一个 Redshift / Postgres sql 查询,它每天计算虚拟累积钱包金额。 这个钱包里有存款,钱包里有支出。花费可能超过钱包中的信用额度,但钱包不应该变成负数。最后,我需要每天从钱包中支出的金额,忽略任何用空钱包进行的支出。

我尝试了很多累积 SUM()LAG() 窗口函数,但还没有得到预期的结果。我停留在需要计算一个值的点,包括前一行的这个值的计算结果,我不知道如何处理。

我真的很感激任何帮助!

示例表

wallet_deposits 支出
2021-01-01 100 30
2021-01-02 0 40
2021-01-03 0 40
2021-01-04 0 65
2021-01-05 15 25
2021-01-06 60 20
2021-01-07 0 0
2021-01-08 0 25
2021-01-09 0 10
2021-01-10 15 25

预期结果

wallet_deposits 支出 wallet_end_of_day spent_from_wallet
2021-01-01 100 30 70 30
2021-01-02 0 40 30 40
2021-01-03 0 40 0 30
2021-01-04 0 65 0 0
2021-01-05 15 25 0 15
2021-01-06 60 20 40 20
2021-01-07 0 0 40 0
2021-01-08 0 25 15 25
2021-01-09 0 10 5 10
2021-01-10 15 25 0 20

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。