sql - 累计汇总 SQL
问题描述
我有一张每个日期的收费表如下
对于以下每个付款日期,我需要根据第一个表中的费用计算预期金额和预期总金额。2019 年 2 月 10 日为 1+2+3=6(7 月后至 10 月的费用)。2019 年 9 月 10 日应该和上面一样,因为它仍然是 10 月。对于 08/01/20,4+5+6=15。有人可以帮助如何实现这一目标。谢谢你。
解决方案
一种方法是相关子查询:
select p.*,
(select sum(c.netamount)
from charges c
where c.date <= p.paymentdate
) as expected
from payments p;
推荐阅读
- python - Google Kick Start:Metal Harvest 错误解决方案
- mysql - MySQL 在 IF 中使用 DATEDIFF 获取列
- postgresql - 如何在 Typeorm 中表达 Postgresql CROSS JOIN LATERAL
- discord.js - 当机器人不在频道中时,机器人将自动加入特定频道。不和谐的js
- python - discordpy 不会打印出每个成员
- keras - 如何将通道最后的keras模型转换为通道第一的ONNX模型
- python - 在合并两个 Python 字典时保留两个冲突的值
- python - “'<' int 和 NoneType 之间不支持”错误
- numpy - 为什么我不能计算两个 numpy 数组之间的距离?
- java - 布尔运算符,从两个相似的值中得出真值