How to remove duplicate records in a table?
Posted
by Mason Wheeler
on Stack Overflow
See other posts from Stack Overflow
or by Mason Wheeler
Published on 2010-05-03T16:49:37Z
Indexed on
2010/05/03
16:58 UTC
Read the original article
Hit count: 203
sql
|sql-server-2008
I've got a table in a testing DB that someone apparently got a little too trigger-happy on when running INSERT scripts to set it up. The schema looks like this:
ID UNIQUEIDENTIFIER
TYPE_INT SMALLINT
SYSTEM_VALUE SMALLINT
NAME VARCHAR
MAPPED_VALUE VARCHAR
It's supposed to have a few dozen rows. It has about 200,000, most of which are duplicates in which TYPE_INT, SYSTEM_VALUE, NAME and MAPPED_VALUE are all identical and ID is not.
Now, I could probably make a script to clean this up that creates a temporary table in memory, uses INSERT .. SELECT DISTINCT
to grab all the unique values, TRUNCATE
the original table and then copy everything back. But is there a simpler way to do it, like a DELETE
query with something special in the WHERE
clause?
© Stack Overflow or respective owner