MySQL数据库 : 高级查询

根据某个字段删除重复的数据, 只保留一条:

比如uuid字段有重复的, 需要只保留一条数据, 让uuid字段不能重复,

则首先 group by uuid 查出所有数据的id最小的那条数据,作为dt表的minid字段,

然后删除 id NOT IN 这些数据的所有数据(即为uuid重复的所有数据)

(参考: https://blog.csdn.net/n950814abc/article/details/82284838 )

DELETE
FROM
    article
WHERE
    id NOT IN (
        SELECT
            dt.minid
        FROM
            (
                SELECT
                    MIN(id) AS minid
                FROM
                    article
                GROUP BY
                    uuid
            ) dt
    )

(updating ... ...)

原文地址:https://www.cnblogs.com/cccy0/p/11200359.html