欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL中删除重复数据只保留一条的一个容易理解的笨方法。

程序员文章站 2022-03-06 21:26:52
...

想出了一个在MySQL中删除重复数据的笨方法,但是容易理解,性能的话,删除87312条数据用了24.374s,CPU为I7-4710MQ。

基本步骤分3步:

1、复制表结构

2、查询重复的条目,写入复制的表

3、删除数据

本文假定需要操作的表名为abroad

具体步骤:

一、复制表结构

不要在自己写新建表的SQL语句了,这里可以直接抄一个,抄谁的呢?当然是抄自己的哈哈哈哈哈哈。

show create table abroad \G;

其中的\G是为了格式化显示内容。

输出为:

MySQL中删除重复数据只保留一条的一个容易理解的笨方法。

这样里面包含了一条创建表的语句,复制下来,粘贴,然后表那个表名改掉,这样就创建了一个结构与abroad表相同的空数据表。

二、查询重复的数据条目,插入进新建的表内。

查重复数据可以用select distinct,有些特定场景group by分组查询也可以办到。

三、删除abroad中的目标数据。

DELETE FROM abroad WHERE (city, mapLastUpdatedTime) not in (SELECT city, mapLastUpdatedTime from abroad_copy);

 

相关标签: SQL mysql sql