MYSQL 删除重复数据

-- 删除重复数据
当一个数据表中,存在重复的数据,假设有两条重复的数据,须要你删除任意一条重复的,这里我用的是删除重复数据中ID最大的一条,相反,若是重复多条,能够把重复的数据都查出来,而后取最大的ID,根据条件删除ID并非最大的便可,这里我就说明删除两条重复数据的场景
 sql

DELETE
FROM
    t_sys_emp_role_catag
WHERE
    id IN (
        SELECT
            a.id
        FROM
            (
                SELECT
                    max(EMP_ROLE_CATAG.id) id
                FROM
                    t_sys_emp_role_catag EMP_ROLE_CATAG
                GROUP BY
                    EMP_ROLE_CATAG.role_id,
                    EMP_ROLE_CATAG.catalog_id,
                    EMP_ROLE_CATAG.emp_no
                HAVING
                    count(1) > 1
                ORDER BY
                    EMP_ROLE_CATAG.emp_no
            ) a
    )
相关文章
相关标签/搜索