delete duplicate rows in sql server 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
);
Example 3: how to remove duplicate in sql
Distinct: helps to remove all the duplicate
records when retrieving the records from a table.
SELECT DISTINCT FIRST_NAME FROM VISITORS;
Example 4: sql delete duplicate rows but keep one
# Step 1: Copy distinct values to temporary table
CREATE TEMPORARY TABLE tmp_user (
SELECT id, name
FROM user
GROUP BY name
);
# Step 2: Remove all rows from original table
DELETE FROM user;
# Step 3: Remove all rows from original table
INSERT INTO user (SELECT * FROM tmp_user);
# Step 4: Remove temporary table
DROP TABLE tmp_user;
Example 5: query delete duplicates
DELETE FROM dups a USING (
SELECT MIN(ctid) as ctid, key
FROM dups
GROUP BY key HAVING COUNT(*) > 1
) b
WHERE a.key = b.key
AND a.ctid <> b.ctid