๐ Me: We can remove duplicates using DISTINCT, GROUP BY, or delete duplicate rows using ROW_NUMBER().
โ 1๏ธโฃ Using DISTINCT (to fetch unique values)
SELECT DISTINCT column_name
FROM employees;
๐ Returns unique records but does not delete duplicates.
โ 2๏ธโฃ Using GROUP BY (to identify duplicates)
SELECT name, COUNT(*)
FROM employees
GROUP BY name
HAVING COUNT(*) > 1;
๐ Helps find duplicate records.
โ 3๏ธโฃ Delete Duplicates Using ROW_NUMBER() (Most Important โญ)
(Keeps one record and deletes others)
DELETE FROM employees
WHERE id IN (
SELECT id FROM (
SELECT id,
ROW_NUMBER() OVER (
PARTITION BY name, salary
ORDER BY id
) AS rn
FROM employees
) t
WHERE rn > 1
);
๐ง Logic Breakdown:
- DISTINCT โ shows unique records
- GROUP BY โ identifies duplicates
- ROW_NUMBER() โ removes duplicates safely
โ Use Case: Data cleaning, ETL processes, data quality checks.
๐ก Tip: Always take a backup before deleting duplicate records.
๐ฌ Tap โค๏ธ for more!