dlete dulate with

CTE Delete Duplicates Example

CTE + ROW_NUMBER() to Delete Duplicates

Step 1: Original Table

IDNameEmail
1Ramram@gmail.com
2Shyamshyam@gmail.com
3Ramram@gmail.com
4Mohanmohan@gmail.com
5Ramram@gmail.com

Duplicate Email: ram@gmail.com

Step 2: Apply ROW_NUMBER()

WITH CTE AS (
    SELECT *,
           ROW_NUMBER() OVER (PARTITION BY Email ORDER BY ID) AS rn
    FROM Employees
)
SELECT * FROM CTE;
IDNameEmailrn
1Ramram@gmail.com1
3Ramram@gmail.com2
5Ramram@gmail.com3
2Shyamshyam@gmail.com1
4Mohanmohan@gmail.com1

Explanation:

  • PARTITION BY Email → Groups duplicates
  • ORDER BY ID → Sorts records
  • ROW_NUMBER() → Assigns numbers (1,2,3...)

Step 3: Delete Duplicates

WITH CTE AS (
    SELECT *,
           ROW_NUMBER() OVER (PARTITION BY Email ORDER BY ID) AS rn
    FROM Employees
)
DELETE FROM CTE
WHERE rn > 1;

Final Result (After Delete)

IDNameEmail
1Ramram@gmail.com
2Shyamshyam@gmail.com
4Mohanmohan@gmail.com

Duplicates removed successfully ✅

Comments

Popular posts from this blog

lAST USED TABLE