表结构及数据
删除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不允许删除或更新的子查询直接操作同一张表,所以这里通过别名再包裹一次即可
转载请注明来源
表结构及数据
删除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不允许删除或更新的子查询直接操作同一张表,所以这里通过别名再包裹一次即可
转载请注明来源
转载于:https://www.cnblogs.com/imfx/p/10838688.html