Mysql 从表中删除数据时获取sql错误-删除的目标和源

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) ); 如何解决此问题?使

我正在尝试执行此查询。删除所有小于科目表中所有科目平均值的科目。然而,我得到了这个错误:

1093-表“account”被指定两次,既作为“DELETE”的目标,也作为单独的数据源

查询是:

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;