如何在 SQL 的 WHERE 条件中使用 AVG( )?

How to use AVG( ) inside WHERE condition in SQL?

我试图通过增加年龄不等于平均年龄的 10 岁来从 'Employee' table 更新 Employee_Age

我试过这样的:

UPDATE Employee
SET Employee_Age = Employee_Age + 10
WHERE Employee_Age != (SELECT AVG(Employee_Age) FROM Employee)

但是我得到一个错误:

#1093 - You can't specify target table 'Employee' for update in FROM clause

基本问题是,每次更新,您都会得到不同的结果。

所以使用临时 table 比如

UPDATE Employee
SET Employee_Age = Employee_Age + 10
WHERE Employee_Age != (SELECT AVG(Employee_Age) FROM (SELECT * FROM Employee) t1)