sql >> Databasteknik >  >> RDS >> Sqlserver

Hur tar man bort dubbletter i en tabell?

Du anger inte ditt bordsnamn men jag tycker att något sådant här borde fungera. Lämnar bara posten som råkar ha lägst ID. Du kanske vill testa med ROLLBACK in först!

BEGIN TRAN
DELETE <table_name>
FROM <table_name> T1
WHERE EXISTS(
SELECT * FROM <table_name> T2 
WHERE     
T1.TYPE_INT = T2.TYPE_INT  AND
T1.SYSTEM_VALUE = T2.SYSTEM_VALUE  AND
T1.NAME = T2.NAME  AND
T1.MAPPED_VALUE = T2.MAPPED_VALUE  AND
T2.ID > T1.ID
)

SELECT * FROM <table_name>

ROLLBACK


  1. Ta bort rad med PHP - PDO på webbsidan

  2. Gå med två tabeller mysql, en till många relation

  3. uppföljning med postgres databas som inte fungerar efter migrering från mysql

  4. Varför hänger java.sql.DriverManager.getConnection(...)?