mysql中删除重复数据

//首先我们需要知道我们重复的都有哪些数据,

//第一步:进行对数据表进行分组,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相同就进行删除。 

 

posted @ 2018-09-02 21:48  梁颖666  阅读(143)  评论(0编辑  收藏  举报