单列中多个日期范围之间的总和

问题描述 投票:0回答:1

我正在尝试弄清楚如何通过 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

sql mysql apache-zeppelin
1个回答
0
投票

尝试使用自连接间隔函数 我还没测试过,但应该是这样的

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天

© www.soinside.com 2019 - 2024. All rights reserved.