//首先我们需要知道我们重复的都有哪些数据,
//第一步:进行对数据表进行分组,group by.
//第二步:进行后通过having进行限制筛选,条数大于等于2的
//第三步:进行多表删除。
//案例:
//第一步,进行对数据分组,并通过having进行限制筛选,获得存在重复数据老王,如下:
//第二步,进行删除,请仔细看删除语句,我们把筛选出来的 AS t2 当做子表。来进行筛选。
例如id和id的下一位进行比较,如果name相同,就删除。
//请仔细看下面这句代码,删除的关键
mysql> delete t1 from ceshi AS t1 left join (select id,name from ceshi group by name having count(name)>=2) as t2 on t1.name = t2.name where t1.id>t2.id;
Query OK, 2 rows affected (0.10 sec)
//删除成功
//语句讲解:
//1、首先cheshi数据表起一个别名为 t1
//2、通过子连接来筛选出ceshi数据表中相同的数据,我们用他当做一张新的数据吧,别名为t2
//3、添加左外连接、
//4、然后根据id的编号来进行对比,例如id=1的name和id=2的name相同就进行删除。
原文地址:https://www.cnblogs.com/LYliangying/p/9575531.html
时间: 2024-11-10 14:50:49