我正在尝试弄清楚如何通过 90 天的交易日期获得价值总和,并在一年的交易日期中重复。
这就是我所拥有的
交易日期 | 价值 |
---|---|
2024年1月1日 | 20 |
2024年2月1日 | 50 |
2024 年 3 月 1 日 | 30 |
预期结果:
交易日期 | 日期_差异 | 价值 |
---|---|---|
2024年1月1日 | 2023年10月3日 | (20+ 2023年10月3日至2023年1月1日之间的所有交易日期值 |
2024年2月1日 | 2023年4月10日 | 20 + 50 + 预测值 |
2024 年 3 月 1 日 | 2023年5月10日 | 20 + 50 + 30 + 预测值 |
对于 date_diff,我通过以下方式获取日期:
(transaction_date) - 90 天作为 date_diff90
尝试使用自连接和间隔函数 我还没测试过,但应该是这样的
SELECT
t1.transaction_date,
DATE_SUB(t1.transaction_date, INTERVAL 90 DAY) AS date_diff,
SUM(t2.value) AS value
From
transactions t1
join
transactions t2
ON
t2.transaction_date BETWEEN DATE_SUB(t1.transaction_date, INTERVAL 90 DAY) AND t1.transaction_date
GROUP BY
t1.transaction_date
ORDER BY
t1.transaction_date;
使用间隔90天来计算前90天