Mysql 从表中删除数据时获取sql错误-删除的目标和源
我正在尝试执行此查询。删除所有小于科目表中所有科目平均值的科目。然而,我得到了这个错误: 1093-表“account”被指定两次,既作为“DELETE”的目标,也作为单独的数据源 查询是:Mysql 从表中删除数据时获取sql错误-删除的目标和源,mysql,sql,database,Mysql,Sql,Database,我正在尝试执行此查询。删除所有小于科目表中所有科目平均值的科目。然而,我得到了这个错误: 1093-表“account”被指定两次,既作为“DELETE”的目标,也作为单独的数据源 查询是: DELETE FROM account WHERE account_number IN ( SELECT account_number FROM account WHERE balance < (SELECT AVG (balance) FROM account) ); 如何解决此问题?使
DELETE
FROM account WHERE account_number IN
(
SELECT account_number FROM account
WHERE balance < (SELECT AVG (balance) FROM account)
);
如何解决此问题?使用连接:
非常感谢。将在6分钟后勾选它。
DELETE a
FROM account a JOIN
(SELECT AVG(balance) as avg_balance
FROM account
) ab
ON a.balance < ab.avg_balance;