美文网首页
MySQL删除表中重复记录

MySQL删除表中重复记录

作者: 兮嘉 | 来源:发表于2016-09-05 17:38 被阅读38次

有一个表里面有id,mid两个字段,id是主键,想删除重复的mid。分两步完成:

  1. 创建一个表,建立一个tmp表记录有哪些mid是重复的,以及重复的mid中,最小的id(稍后我们在重复的mid中将保留这个最小的id
CREATE TABLE tmp (
    SELECT
        mid,
        MIN(id) AS id       
    FROM
        comments
    GROUP BY
        mid
    HAVING
        COUNT(mid) > 1
)
  1. 进行删除操作
DELETE a.*
FROM
    comments a,
    tmp b
WHERE
    a.mid = b.mid
AND a.id != b.id

不建立tmp表似乎也可以,但是需要将临时表重命名一下,否则会报这个错误

[Err] 1093 - You can't specify target table 'a' for update in FROM clause

相关文章

  • 转载 SQL查询重复记录

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

  • MySQL删除表中重复记录

    有一个表里面有id,mid两个字段,id是主键,想删除重复的mid。分两步完成: 创建一个表,建立一个tmp表记录...

  • oracle查询重复数据方法

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

  • 2018-02-11

    1、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录 dele...

  • 如何在mysql表中删除大量重复记录

    之前利用scrapy爬虫保存到mysql中,但是爬了很多重复数据,那如何在mysql中删除这些重复记录呢?我选择的...

  • 从0到1学习网络安全 【MySQL基础-MySQL 删除数据表】

    MySQL 删除数据表 MySQL中删除数据表是非常容易操作的, 但是你再进行删除表操作时要非常小心,因为执行删除...

  • Mysql学习——数据库基础操作(1)

    Mysql创建数据库Mysql删除数据库Mysql创建表Mysql删除表Mysql添加表数据Mysql修改表数据M...

  • Java Web技术经验总结(十五)

    MySQL在旧表中增加唯一索引时,如何处理原有的重复数据?参考:mysql删除重复记录只保留一条 google的c...

  • MySQL去重distinct

    在MySQL中需要查询表中不重复的记录时,可以使用distinct关键字过滤重复记录。 语法: select di...

  • 删除Sql中的重复数据(转)

    在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1、查找表中多余的重复记录,重复记录是根据...

网友评论

      本文标题:MySQL删除表中重复记录

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