mysql 删除重复数据,保留一条

表结构及数据

删除name列重复的数据但是要保留一条

sql:

DELETE FROM my_test WHERE id NOT IN (SELECT * FROM (SELECT max(r.id) FROM my_test AS r GROUP BY r. NAME)  t);

注意:里面的子查询结果需要使用别名(标红的sql部分)再包裹一次 ,否则会报错,因为mysql不允许删除或更新的子查询直接操作同一张表,所以这里通过别名再包裹一次即可

转载请注明来源

 

posted @ 2019-05-09 15:23  imfx  阅读(308)  评论(0编辑  收藏  举报