gpt4 book ai didi

php - 计算 5 天移动平均线 - 如果日期之间存在差距,则将值设置为 0。

转载 作者:搜寻专家 更新时间:2023-10-31 22:07:17 24 4
gpt4 key购买 nike

我正在尝试计算 5 天移动平均线。一切正常,除非日期之间存在差距。当存在差距时,缺失日期 (-s) 的值应设置为零以显示正确的移动平均数。

这是我的表 (orders_total),您可以看到没有 1/7/13 的日期,这是导致问题的原因:

orders_id    value    date
1 199 1/1/13 0:00
2 199 1/2/13 0:00
3 199 1/3/13 0:00
4 199 1/4/13 0:00
5 249 1/5/13 0:00
6 199 1/6/13 0:00
7 199 1/8/13 0:00
8 199 1/9/13 0:00
9 199 1/10/13 0:00
10 199 1/11/13 0:00
11 199 1/12/13 0:00
12 199 1/13/13 0:00

如果缺失日期 1/7/13 的值设置为零,则正确的 5 天移动平均线(正在寻找)是:

199
199
199
199
209
209
169.2
169.2
169.2
159.2
159.2
199
199

这是我正在使用的代码,当日期之间存在差距时,它没有显示正确的移动平均线:

    SELECT ot1.value, ot1.date,
(SELECT SUM(ot2.value) / COUNT(ot2.value)
FROM orders_total AS ot2 WHERE DATEDIFF(ot1.date, ot2.date) BETWEEN 0 AND 4) AS '5dayMovingAvg'
FROM orders_total AS ot1 ORDER BY ot1.date";

最佳答案

如果您知道它总是 5 天,为什么要除以 COUNT(ot2.value)?除非您尝试处理边缘情况,在这种情况下,以不同于正常情况的方式处理边缘情况。

关于php - 计算 5 天移动平均线 - 如果日期之间存在差距,则将值设置为 0。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16648974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com