[SQL] – Requet pour Supprimer les doublons
La requête ci-dessous est pour supprimé les doublons dans une table. C’est valide pour Oracle et SqlServer.
Exemple 1 : Supposons qu’on a une table ASSET (ASSETID, ASSETNUM, SITEID ..) et qu’on souhaite supprimer la liste des assets ayant le même n° et le même id. on peut utiliser la requête suivante :
SELECT * FROM ASSET T1 WHERE EXISTS (SELECT * FROM ASSET T2 WHERE T1.ASSETID = T2.ASSETID AND T1.ASSETNUM=T2.ASSETNUM GROUP BY ASSETID , ASSETNUM HAVING COUNT(*) > 1) ;
Exemple 2 : Autre Requête pour supprimer les doublons :
delete FROM CLASSIFICATION l1 WHERE rowid > ANY (SELECT min(rowid) FROM CLASSIFICATION l2 WHERE l1.classificationid = l2.classificationid );
Commentaires récents