mysql 删除重复记录

mysql删除重复记录的原理是:

将需要比较的列放到group by后,取出主键的最小值,再删除不在这个临时表主键的行

命令行格式如下

1
delete from users where id not in ( select id from ( select min(id) id from users group by name,sex ) as tmp);

需要比较的列是name和sex,取出id后再从users表中取出id查看该id是否在临时表中存在,不存在则删除掉。