移动平均x行的MySQL更新自我联接给出错误-您无法在FROM子句中指定目标表进行更新

时间:2019-06-22 10:29:57

标签: mysql join

我正在尝试查找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子句中的符号更好。

0 个答案:

没有答案