美文网首页
SQL删除重复数据记录

SQL删除重复数据记录

作者: 32a08e1b7af0 | 来源:发表于2019-05-08 10:43 被阅读0次

问题背景:

删除一张表中记录重复的数据,保证数据不重复(通过两个字段查询到的数据是不重复的)。

个人解决思路:

  首先通过SQL以group by分组的方式,查询出不需要删除的数据(引用delete时需要一张临时表),再通过delete加not in进行操作

表结构如下:

手写SQL过程:

通过上表可知,需要删除的数据是id=1或id=4的记录中的一条数据

我先通过group by 分组查询出不需要删除的数据,select id from t_temp group by course_id,score (面试官说这样只取出id会报错,通过实操是可以执行的),然后通过delete from t_temp where id not in (select id from ( select id from t_temp group by course_id,score ) t)就可以删除重复的数据。

注意:

需要注意的一点是需要一张临时表T,操作可能会慢,但是能解决问题。

最终SQL如下:

相关文章

  • 查询MySQL数据库中重复数据并删除

    需求:删除表中重复的数据,保留一条记录,其余的删除 下面这条SQL语句的功能就是查询出单表中重复的数据并删除 咱们...

  • mysql优化笔记(3)----SQL操作优化

    1、删除重复数据查询重复数据 删除重复数据 2、分区统计 需求 sql语句 3、捕获有问题的SQL 启动mysql...

  • SQL删除重复数据记录

    问题背景: 删除一张表中记录重复的数据,保证数据不重复(通过两个字段查询到的数据是不重复的)。 个人解决思路: ...

  • MySQL删除重复数据

    用SQL语句,删除掉重复项只保留一条在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢1、查找...

  • SQL基础语句

    SQL 基本语句记录 新建表 删除表: 插入数据: 删除数据: 更新数据: 新增字段: 删除字段: 修改字段: 重...

  • oracle查询重复数据方法

    SQL重复记录查询 (一) 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 2、删除...

  • sql 删除重复数据

    第一步查出重复数据 第二步排除不想删除的第一条 第三步开始删

  • SQL删除重复数据,只保留一行

    在sql的使用中,我们总是碰到需要删除重复数据的情况,但是又不能全部删除完,必须要保留至少一个重复的数据。重复的记...

  • Oracle基本sql语句与函数

    2019-05-09 SQL语句 插入记录 更新记录 删除记录 注意:delete删除的表数据可以还原 清空表 与...

  • [笔记]常用基本SQL语句

    创建表 插入数据 删除记录 DELETE 语句用于删除表中的记录(行)。 请注意 SQL DELETE 语句中的 ...

网友评论

      本文标题:SQL删除重复数据记录

      本文链接:https://www.haomeiwen.com/subject/boopoqtx.html