Maison >base de données >tutoriel mysql >Comment puis-je supprimer les lignes en double d'une table Oracle tout en conservant une ligne unique ?
Suppression des lignes en double dans les tables Oracle : une approche pratique
Lors du remplissage de la table Oracle, des lignes en double peuvent survenir involontairement, empêchant la création d'une clé primaire. Cet article détaille une méthode pour supprimer efficacement ces doublons tout en conservant une seule ligne unique.
Solution : Utiliser la rowid
Pseudocolonne
La pseudocolonne rowid
d'Oracle fournit un identifiant unique pour chaque ligne. Nous en profitons pour identifier et supprimer les entrées redondantes.
L'instruction SQL suivante utilise rowid
pour y parvenir :
<code class="language-sql">DELETE FROM your_table WHERE rowid NOT IN (SELECT MIN(rowid) FROM your_table GROUP BY column1, column2, column3);</code>
Cette requête supprime les lignes dont rowid
ne correspond pas au minimum rowid
au sein de chaque groupe de doublons. La clause GROUP BY
définit le regroupement en fonction des colonnes spécifiées (colonne1, colonne2, colonne3). Il ne restera qu'une seule ligne par combinaison unique de ces valeurs de colonne.
Pour une suppression précise des doublons, pensez à inclure toutes les colonnes dans la clause GROUP BY
. Ajustez les noms de colonnes en fonction de la structure spécifique de votre table.
Cette approche garantit que seuls les enregistrements uniques sont conservés, ouvrant la voie à la création de clé primaire et à d'autres opérations de base de données.
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!