Supprimer les enregistrements SQL en double
-
20-08-2019 - |
Question
Quel est le moyen le plus simple de supprimer des enregistrements avec un nom en double dans une table? Les réponses que j'ai trouvées sont très déroutantes.
Connexes:
La solution
Je l'ai! Simple et cela a très bien fonctionné.
delete
t1
from
tTable t1, tTable t2
where
t1.locationName = t2.locationName and
t1.id > t2.id
Autres conseils
SQL Server 2005:
with FirstKey
AS
(
SELECT MIN(ID), Name, COUNT(*) AS Cnt
FROM YourTable
GROUP BY Name
HAVING COUNT(*) > 1
)
DELETE YourTable
FROM YourTable YT
JOIN FirstKey FK ON FK.Name = YT.Name AND FK.ID != YT.ID
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow