Maison >base de données >tutoriel mysql >Comment supprimer les enregistrements en double dans SQL Server à l'aide de TSQL ?
Suppression des entrées en double dans les tables SQL Server
Problème :
Supposons que vous ayez une table Employee
avec un champ appelé EmployeeName
contenant des entrées en double. Comment pouvez-vous utiliser T-SQL pour supprimer ces lignes en double en fonction de la colonne EmployeeName
dans SQL Server ?
Solution :
Supprimez efficacement les lignes en double dans SQL Server à l'aide de T-SQL et des fonctions de fenêtre. En ordonnant les doublons à l'aide d'un identifiant d'employé, nous pouvons conserver uniquement la première occurrence de chaque nom.
<code class="language-sql">DELETE x FROM ( SELECT *, rn = ROW_NUMBER() OVER (PARTITION BY EmployeeName ORDER BY empId) FROM Employee ) x WHERE rn > 1;</code>
Pour examiner les lignes dont la suppression est prévue avant d'exécuter l'instruction DELETE
, exécutez cette requête :
<code class="language-sql">SELECT * FROM ( SELECT *, rn = ROW_NUMBER() OVER (PARTITION BY EmployeeName ORDER BY empId) FROM Employee ) x WHERE rn > 1;</code>
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!