您的位置:首页 > 数据库 > MySQL

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

2020-04-21 22:03 281 查看

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

基本步骤分3步:

1、复制表结构

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

3、删除数据

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

具体步骤:

一、复制表结构

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

[code]show create table abroad \G;

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

输出为:

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

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

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

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

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

 

  • 点赞
  • 收藏
  • 分享
  • 文章举报
叫我学弟 发布了3 篇原创文章 · 获赞 1 · 访问量 204 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: