如何在 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)
我试图通过增加年龄不等于平均年龄的 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)