Supprimer les loggings en double en conservant l'original

Dupliquer possible:
Comment supprimer des lignes en double avec SQL?

J'ai une table sans key primaire et une colonne avec des inputs en double. Je veux supprimer tous les duplicates en gardant une input dans la table. S'il vous plaît aider

Puisque vous utilisez SQL Server 2005+, vous pouvez utiliser CTE pour effectuer ceci:

;WITH cte AS ( SELECT ROW_NUMBER() OVER (PARTITION BY Col1, Col2, Col3 ORDER BY (SELECT 0)) RN FROM yourtable ) DELETE FROM cte WHERE RN > 1 

Utilisez la fonction Row_Number avec Partition By tous les champs et conservez uniquement les lignes avec RN = 1.

Créer une procédure stockée et à l'intérieur de la procédure:

  1. vous devez créer une table temporaire à partir de la structure de table donnée à dynamicment
  2. puis insérez toutes les lignes distinctes de la table à la table temporaire
  3. finalement tronquer la table
  4. et atlast insert la ligne de la table temporaire et déposer la table temporaire

Si vous avez un problème, je dois écrire sp pour vous.