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
    )
相關文章
相關標籤/搜索