Maison > base de données > tutoriel mysql > Comment puis-je supprimer les lignes en double dans SQL Server tout en conservant une ligne ?

Comment puis-je supprimer les lignes en double dans SQL Server tout en conservant une ligne ?

Linda Hamilton
Libérer: 2025-01-15 16:11:45
original
968 Les gens l'ont consulté

How Can I Delete Duplicate Rows in SQL Server While Keeping One Row?

Supprimer efficacement les lignes en double dans SQL Server tout en préservant une seule ligne

L'intégrité des données est essentielle dans la gestion des bases de données. Cet article aborde le problème courant lié à la suppression des lignes en double d'une table SQL Server tout en garantissant la conservation d'au moins une instance de chaque ensemble de données unique. T-SQL fournit une solution simple utilisant des expressions de table communes (CTE).

La clause OVER au sein du CTE est la clé de ce processus. Voici un exemple illustratif :

<code class="language-sql">WITH cte AS (
  SELECT [foo], [bar],
     ROW_NUMBER() OVER (PARTITION BY [foo], [bar] ORDER BY [baz]) AS rn
  FROM [TABLE]
)
DELETE FROM cte
WHERE rn > 1;</code>
Copier après la connexion

Cette requête utilise un CTE pour attribuer un numéro de ligne unique (rn) à chaque ligne au sein des groupes définis par les colonnes [foo] et [bar]. La clause ORDER BY [baz] détermine quelle ligne au sein de chaque groupe est conservée ; vous devez ajuster cela en fonction de vos besoins spécifiques. L'instruction DELETE supprime ensuite toutes les lignes où rn est supérieur à 1, ne laissant qu'une seule ligne représentative pour chaque combinaison unique de [foo] et [bar].

Cette approche offre une méthode efficace et fiable pour maintenir la propreté et l'exactitude des données dans votre base de données SQL Server.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal