gpt4 book ai didi

mysql - 使用同一表中的数据更新表(移动平均值)

转载 作者:行者123 更新时间:2023-11-30 00:57:39 26 4
gpt4 key购买 nike

我正在尝试查找用于更新表的查询,以便它有一列带有移动平均值。

Table: 
person_ID
test_date
test_results
test_MA_3

Unique(person_ID, test_date)

当前 test_MA_3 列的所有行值为 0(移动平均值,3 天)

移动平均线:它就像一个低通滤波器,对于所有头寸,移动平均线是(在我的例子中)最后 3 天的平均值。

截至 2013 年 3 月 12 日,移动平均线为:

SUM(test_results)/COUNT(test_date) For test_date = (2013-03-12, + 2 previous days) GROUP BY person_ID

(该代码为伪代码)

我尝试使用无法解决的子查询来解决这个问题,即使使用干净的 SELECT 查询,我也无法计算出移动平均值。

我尝试过:

SELECT a.test_date, a.person_ID, 
(SELECT SUM(b.test_results)/COUNT(b.test_date) AS results
FROM table AS b WHERE b.person_ID = a.person_ID AND b.test_date <= a.test_date
ORDER BY b.test_date DESC LIMIT 3
GROUP BY b.person_ID
) AS out
FROM table

AS

我在上面的查询中可能有一些错误,因为我现在没有可用的 phpmyadmin。但我尝试了上面查询的多个版本,但没有成功。

谁能帮我解决这个问题吗?

最佳答案

试试这个:

SELECT a.test_date, a.person_ID, 
(SELECT SUM(b.test_results)/COUNT(b.test_date) AS results
FROM table AS b WHERE b.person_ID = a.person_ID AND b.test_date <= a.test_date
GROUP BY b.person_ID
) AS out
FROM table

关于mysql - 使用同一表中的数据更新表(移动平均值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20416727/

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