Suppression des lignes en double dans Netezza SQL : un guide pratique
Netezza SQL ne prend pas directement en charge l'approche de clause WITH
standard pour supprimer les lignes en double. Cependant, une alternative robuste utilise le mot-clé USING
. Cette méthode élimine efficacement les doublons sans s'appuyer sur un identifiant unique.
La requête suivante montre comment supprimer les entrées en double d'une table nommée « table_with_dups » :
<code class="language-sql">DELETE FROM table_with_dups T1 USING table_with_dups T2 WHERE T1.ctid < T2.ctid AND T1.column1 = T2.column1 AND T1.column2 = T2.column2; --Add all relevant columns here</code>
Remarque importante : Remplacez column1
, column2
, etc. par les noms de colonnes réels de votre tableau qui définissent une ligne en double. Vous devez inclure toutes les colonnes qui contribuent à la définition d'un doublon.
Cette requête compare les lignes en fonction de leur ctid
(identifiant de ligne unique généré par le système) et des colonnes spécifiées. Il supprime la ligne avec le plus petit ctid
pour chaque ensemble en double.
Vérification avant suppression :
Avant d'exécuter l'instruction DELETE
, il est crucial de vérifier les lignes dont la suppression est prévue. Exécutez cette requête pour prévisualiser les enregistrements concernés :
<code class="language-sql">SELECT * FROM table_with_dups T1 USING table_with_dups T2 WHERE T1.ctid < T2.ctid AND T1.column1 = T2.column1 AND T1.column2 = T2.column2; --Add all relevant columns here</code>
Cette instruction SELECT reflète la requête DELETE, vous permettant d'inspecter les données avant d'apporter des modifications permanentes. Cette mesure de précaution est fortement recommandée pour éviter toute perte de données involontaire.
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!