how to find duplicate records and delete in sql code example

Example 1: sql server delete records that have a single duplicate column

WITH cte AS (
    SELECT 
        contact_id, 
        first_name, 
        last_name, 
        email, 
        ROW_NUMBER() OVER (
            PARTITION BY 
                first_name, 
                last_name, 
                email
            ORDER BY 
                first_name, 
                last_name, 
                email
        ) row_num
     FROM 
        sales.contacts
)
DELETE FROM cte
WHERE row_num > 1;

Example 2: sql delete duplicate

-- Oracle
DELETE films
WHERE rowid NOT IN (
    SELECT min(rowid)
    FROM films
    GROUP BY title, uk_release_date
);

Tags:

Sql Example