使用Group By删除MySQL

Tom*_*Tom 20 mysql group-by

我在MySQL 5.5中成功运行查询

SELECT columnA
FROM
  table
GROUP BY
  columnA
HAVING
  count(*) > 1
Run Code Online (Sandbox Code Playgroud)

但是,我需要使用DELETE运行相同的查询,我有点不确定如何删除?即应删除返回的结果?

有任何想法吗 ?

Den*_*rdy 27

将其放在子查询中:

delete from table 
where columnA in (
  select columnA
  from (
      select columnA
      from YourTable
      group by columnA
      having count(*) > 1
      ) t  
)
Run Code Online (Sandbox Code Playgroud)

  • 啊对.我总是忘记MySQL的陷阱.:-)小组第二次强制它使用临时表:`从表中删除colA in(从([你的东西]中选择colA)t)` (8认同)
  • @Dennis - 感谢您的帮助:)我得到"你不能指定目标表'表'用于FROM子句中的更新"?使用MySQL 5.5? (3认同)