mysql delete all duplicate rows except one code example
Example 1: mysql delete duplicate rows but keep one
DELETE c1 FROM contacts c1
INNER JOIN contacts c2
WHERE
c1.id > c2.id AND
c1.email = c2.email;
Example 2: mysql remove duplicates
DELETE FROM table_name WHERE id
NOT IN ( SELECT id FROM table_name
GROUP BY field_1, field_2)
Example 3: mysql delete duplicate rows
DELETE FROM table_name
WHERE
id IN (
SELECT
id
FROM (
SELECT
id,
ROW_NUMBER() OVER (
PARTITION BY field_1
ORDER BY field_1) AS row_num
FROM
table_name
) t
WHERE row_num > 1
);
Example 4: delete all duplicate rows keep the latest except for one in mysql
DELETE
FROM
`tbl_job_title`
WHERE id NOT IN
(SELECT
*
FROM
(SELECT
MAX(id)
FROM
`tbl_job_title`
GROUP BY NAME) tbl)