我正在尝试查找x期间的滚动移动平均值,并且需要将平均价格更新为特定列。
这是针对MYSQL 5.7的。我有一个收盘价栏,我需要最后10行的平均值。我正在尝试通过update join命令将平均值更新到同一表中的特定列。但是我得到以下错误。 您无法在FROM子句中指定目标表“ mi”进行更新
update mi
set AvgClose = (SELECT AVG(close) FROM mi i
WHERE i.symbol = mi.symbol
and i.sdate <= '2019-05-17'
ORDER BY sdate DESC LIMIT 10)
where symbol = 'YESBANK'
and sdate = '2019-05-17';
预期结果是在给定日期和给定符号的情况下更新最后10条记录的avg(close),而在where条件中不包含符号。 在此情况下,这里的where子句中的符号更好。