码迷,mamicode.com
首页 > 数据库 > 详细

mysql中删除重复数据

时间:2018-09-02 23:48:52      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:alt   join   复数   comm   左外连接   通过   left join   color   限制   

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

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

 

mysql中删除重复数据

标签:alt   join   复数   comm   左外连接   通过   left join   color   限制   

原文地址:https://www.cnblogs.com/LYliangying/p/9575531.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!