Maison >base de données >tutoriel mysql >Comment supprimer les lignes en double d'une table SQL sans clé primaire ?
Comment supprimer les enregistrements en double d'une table SQL sans clé primaire
Lorsque vous traitez des tables SQL dépourvues de clé primaire, gestion des doublons les dossiers peuvent poser un défi. Cependant, il existe des méthodes efficaces pour éliminer les doublons en fonction de critères spécifiques.
Considérez le scénario suivant : vous disposez d'une table « employé » avec les colonnes « EmpId », « EmpName » et « EmpSSN » et quelques enregistrements. contiennent des valeurs en double dans les champs « EmpId » et « EmpSSN ». Pour supprimer ces doublons, vous pouvez utiliser la requête suivante :
DELETE SUB FROM (SELECT ROW_NUMBER() OVER (PARTITION BY EmpId, EmpName, EmpSSN ORDER BY EmpId) cnt FROM employee) SUB WHERE SUB.cnt > 1
Comprendre la requête :
Cette requête supprime efficacement les enregistrements en double en fonction de la combinaison unique de « EmpId » et « EmpSSN », exécutant efficacement les données. nettoyage dans les tables sans clé primaire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!