avoid duplicates in sql code example
Example 1: sql delete duplicate
-- Oracle
DELETE films
WHERE rowid NOT IN (
SELECT min(rowid)
FROM films
GROUP BY title, uk_release_date
);
Example 2: how to query without duplicate rows in sql
SELECT DISTINCT col1,col2... FROM table_name where Condition;
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: sql query to delete duplicate records
--ID should be primary key
--get duplicate records using RANK
SELECT E.ID,
E.firstname,
E.lastname,
E.country,
T.rank
FROM [SampleDB].[dbo].[Employee] E
INNER JOIN
(
SELECT *,
RANK() OVER(PARTITION BY firstname,
lastname,
country
ORDER BY id) rank
FROM [SampleDB].[dbo].[Employee]
) T ON E.ID = t.ID;
--delete duplications
DELETE E
FROM [SampleDB].[dbo].[Employee] E
INNER JOIN
(
SELECT *,
RANK() OVER(PARTITION BY firstname,
lastname,
country
ORDER BY id) rank
FROM [SampleDB].[dbo].[Employee]
) T ON E.ID = t.ID
WHERE rank > 1;