← Back to all snippets
SQL

Deleting Duplicate Rows While Keeping One Unique Record

Learn to clean your database by identifying and deleting duplicate rows, ensuring data integrity while preserving one unique instance of each record based on a primary key.

DELETE FROM your_table
WHERE primary_key_column NOT IN (
    SELECT MIN(primary_key_column)
    FROM your_table
    GROUP BY column_to_check_for_duplicates_1, column_to_check_for_duplicates_2
);
How it works: This SQL statement efficiently deletes duplicate rows from a table, ensuring only one unique record remains for each set of duplicates. It works by first grouping records based on the columns that define uniqueness (e.g., `column_to_check_for_duplicates_1`, `column_to_check_for_duplicates_2`). For each group, it selects the minimum `primary_key_column` value, effectively identifying one 'original' record to keep. The outer `DELETE` statement then removes all rows whose `primary_key_column` is NOT among these 'kept' records.

Need help integrating this into your project?

Our team of expert developers can help you build your custom application from scratch.

Hire DigitalCodeLabs