Supprimez efficacement les lignes en double dans T-SQL en fonction des colonnes de clé primaire
Question :
En raison d'une erreur lors de la création des données, le tableau contient un grand nombre de lignes en double. L'objectif est d'éliminer les lignes redondantes tout en conservant une ligne pour chaque combinaison unique de colonnes de clé primaire. Cependant, le tableau contient certaines colonnes qui ne sont pas pertinentes pour la question et contiennent des données légèrement différentes et doivent être ignorées.
Solution :
Pour SQL Server 2005 et versions ultérieures, vous pouvez utiliser la fonction OVER() et les expressions de table communes (CTE) pour supprimer efficacement les lignes en double.
Instructions CTE et DELETE :
<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 cte WHERE [rn] > 1</code>
Instructions :
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!