mysql删除表中多余的重复记录

删除表中多余的重复记录,重复记录是根据单个字段(MC)来判断,只留有 sysid 最小的记录
-- 删除表中多余的重复记录,重复记录是根据单个字段(MC)来判断,只留有 sysid 最小的记录
DELETE FROM ZD_YPSCCS 
WHERE
    MC IN ( SELECT t.MC FROM ( SELECT MC FROM ZD_YPSCCS GROUP BY MC HAVING count( 1 ) > 1 ) t ) 
    AND sysid NOT IN (
    SELECT
        dt.minsysid
    FROM
    ( SELECT min( sysid ) AS minsysid FROM ZD_YPSCCS GROUP BY MC HAVING count( 1 ) > 1 ) dt 
    )

避免这张表 MC 这个列不再重复,添加 unique 索引。

posted @ 2022-01-07 09:41  kuzane  阅读(49)  评论(0)    收藏  举报