Comment nettoyer une table des données en double en SQL?
sobes.tech IA
Réponse de l'IA
Pour nettoyer une table des enregistrements en double en SQL, on utilise généralement une approche consistant à supprimer les lignes répétées, en ne conservant qu'une seule entrée unique. L'une des méthodes courantes consiste à utiliser une CTE (Expression de Table Commune) avec la fonction ROW_NUMBER() pour numéroter les doublons et supprimer tous sauf le premier.
Exemple pour SQL Server ou PostgreSQL :
WITH CTE AS (
SELECT *, ROW_NUMBER() OVER (PARTITION BY column1, column2, column3 ORDER BY id) AS rn
FROM votre_table
)
DELETE FROM votre_table
WHERE id IN (
SELECT id FROM CTE WHERE rn > 1
);
Ici, column1, column2, column3 sont un ensemble de colonnes déterminant un doublon, et id est l'identifiant unique de la ligne.
Si le SGBD ne supporte pas CTE, on peut utiliser une table temporaire ou des sous-requêtes. Il est important de définir d'abord les critères d'unicité pour supprimer correctement les doublons.