首先,表A不能删除表A中查出的ID对应的记录,如下:
delete from `test`.duplicateTest where id not in (
select max(id) as id from `test`.duplicateTest as b group by name) ;
这样会报错:ERROR 1093错误。解决办法,创建临时表:
delete from `test`.duplicateTest where id not in (
select id from (select max(id) as id from `test`.duplicateTest as b group by name) as temps);