Maison > Article > base de données > Comment supprimer les requêtes en double dans Oracle
La méthode de requête de déduplication Oracle est :
Déduplication multi-champs de la base de données Oracle
Introduction à la méthode : mot clé distinct, regrouper par , row_number ()over (partition par colonne, ordre par colonne desc)
Mon exigence est la suivante : interroger toutes les informations après la déduplication en fonction de certaines colonnes. Finalement, j'ai choisi la troisième méthode.
Mon idée : je souhaite trouver un moyen plus simple d'implémenter les requêtes de déduplication. Plus c’est direct, mieux c’est.
Structure et& contenu du tableau
1. Utilisation d'un mot-clé distinct : la combinaison de champs suivant le mot-clé distinct doit être
sélectionner un identifiant distinct from test
Résultat ; Déduplication basée sur l'identifiant
sélectionnez un identifiant distinct, un nom du test
Résultat : Déduplication basée sur la combinaison de l'identifiant et du nom (similaire à l'identifiant | | nom Cette façon de supprimer les doublons)
2. Groupe par groupe pour supprimer les doublons
sélectionnez l'identifiant, le nom du groupe de test par identifiant, le nom
Résultat : Déduplication basée sur l'identifiant, combinaison de noms
3. méthode row_number ()over (partition par colonne ordre par colonne asc | desc)
3.1 row_number() over(order by column asc) Triez d'abord les colonnes par ordre croissant, puis renvoyez un numéro de séquence pour chaque enregistrement
3.2 row_number() over(partition by column1 order by column2 asc) First regrouper par colonne1, puis trier les données regroupées par ordre croissant selon la colonne2
Remarque : trier par doit avoir
exemple, sélectionnez a.*,row_number() over(partition by a.id ,a.sex order by name) su from test a;
Exemple de déduplication : Déduplication basée sur l'identifiant et le sexe
sélectionnez l'identifiant, le nom, le sexe from(
select a.*,row_number() over(partition by a.id,a.sex order by name) su from test a )
where su=1
Résultat :
Mon exigence est d'interroger toutes les informations après la déduplication en fonction de certaines colonnes.
Tutoriel recommandé : "Tutoriel Oracle"
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!