基于MySql中的两列删除重复记录[重复]

Posted

技术标签:

【中文标题】基于MySql中的两列删除重复记录[重复]【英文标题】:Delete duplicate records based on two columns in MySql [duplicate] 【发布时间】:2018-03-14 12:34:53 【问题描述】:

我想删除多余的重复记录

即图中有corporate_id = 5category_id = 19两条记录,如何删除任意一行重复(这里corporate_sed_id为主键)

【问题讨论】:

【参考方案1】:

使用这个:-

DELETE
FROM
    corporate
WHERE
    corporate_sed_id IN(
    SELECT
        *
    FROM
        (
        SELECT
            MIN(corporate_sed_id)
        FROM
            corporate
        GROUP BY
            corporate_id,
            category_id
        HAVING
            COUNT(corporate_sed_id) > 1
    ) temp
)

【讨论】:

我已经通过不同的方式解决了这个问题,但只是为了检查你的解决方案,我已经执行了这个查询,这就像一个魅力:) 谢谢@nikita 谢谢 :) @K Arun Singh 完美解决方案,谢谢! @KArunSingh 如果您分享了您的解决方案,那就太好了... 如果有多个相同的 id,这只会删除一个重复项,对吗?必须多次运行它才能删除所有重复项。有没有办法让它适用于任意数量的重复项(即只保留一个)?

以上是关于基于MySql中的两列删除重复记录[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将其基于重复记录的两列组合组合在一起创建记录,并分配 Min start_date 和 Max end_date

删除基于重复的两列值。

SQL 根据两列删除重复记录

如何从 MySQL 表中删除重复记录? [复制]

基于两列之间的间隙重复记录

PostgreSQL 如何查找并删除重复数据