MySQL中删除重复记录

  

工作中,我们经常有需要删除一些重复数据的这种需求。重复数据可能是程序错误造成的

  

好,让我们看看如何删除这些重复数据

  

删除重复数据的思路呢,是这样的,查看根据这个重复字段分组后的结果有没有大于1的情况
如果有大于的1的情况呢,那就说明是有重复数据的!

  

1)创建数据库

  
 <代码>创建数据库前; 
  

2)创建表

  
 <代码>创建表t1 (
  int id(10)无符号NOT NULL AUTO_INCREMENT,
  名字varchar(20)没有空,
  createdAt时间戳NOT NULL默认current_timestamp (),
  updatedAt时间戳NOT NULL默认current_timestamp () alt=" MySQL中删除重复记录"> 

  

5)根据最小id、重复字段名称分组,假设我们的需求就是最后要保留第最小id的这些数据,把其它重复的删除
<强>选择最小(id),名从t1组的名字有计数(名字)在1订单的id;
 MySQL中删除重复记录

  

6)使用别名关联一下,这些数据就是重复的,最后要删除的
选择<代码>。* 从t1 (select *, min (id)从t1组的名字有计数(名字)在1)b a.name=b.name a.id> b.id;

  

 MySQL中删除重复记录

  

7)记得先备份一下数据
<强> create table bak_t1_20190621像t1;

  

插入bak_t1_20190621 select * from t1;

  

8)删除数据
删除一个从t1(<代码> select *> b.id;

  

9)最后检查一下,确实已经没有重复数据了

  

 MySQL中删除重复记录

MySQL中删除重复记录