how can i delete duplicate rows in mysql code example

Example 1: mysql remove duplicates

DELETE FROM table_name WHERE id 
       NOT IN ( SELECT id FROM table_name 
                   GROUP BY field_1, field_2)

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 older duplicates

delete test
   from test
  inner join (
     select max(id) as lastId, email
       from test
      group by email
     having count(*) > 1) duplic on duplic.email = test.email
  where test.id < duplic.lastId;

Tags:

Sql Example