Maison >base de données >tutoriel mysql >Comment supprimer les enregistrements en double dans SQL Server à l'aide de TSQL ?

Comment supprimer les enregistrements en double dans SQL Server à l'aide de TSQL ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-12 11:47:42151parcourir

How to Delete Duplicate Records in SQL Server Using 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn