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

我想删除多余的重复记录

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

【问题讨论】:

    标签: mysql group-by group-concat


    【解决方案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,这只会删除一个重复项,对吗?必须多次运行它才能删除所有重复项。有没有办法让它适用于任意数量的重复项(即只保留一个)?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    • 1970-01-01
    • 2021-11-11
    相关资源
    最近更新 更多