Mysql avoid duplicate rows 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 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 3: mysql delete duplicate rows except one
DELETE FROM NAMES
WHERE id NOT IN (SELECT *
FROM (SELECT MIN(n.id)
FROM NAMES n
GROUP BY n.name) x)