IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Recherche de doublons dans une table


Sujet :

PostgreSQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 75
    Points : 61
    Points
    61
    Par défaut Recherche de doublons dans une table
    Bonjour à tous,

    Je souhaiterais retrouver des doublons dans une table.

    Voici ma requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select parent_id,zip,type,mobile,id,count(*)  from partner  group by parent_id,zip,type,mobile  having (count(*) > 1)
    Le problème est que j'ai une erreur quand je rajoute dans mon SELECT la colonne id. Il me dit que je dois l'ajouter dans ma clause GROUP BY, mais je ne veux pas qu'il regroupe par id, je veux juste afficher sur les résultats de sortie.

    J'ai ce message :

    cursor.execute("select parent_id,zip,type,mobile,id,count(*) from partner group by parent_id,zip,type,mobile having (count(*) > 1)")
    ProgrammingError: column "partner.id" must appear in the GROUP BY clause or be used in an aggregate function

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    C'est tout-à-fait logique : quel id prendre sinon, s'il y a plusieurs id différents pour un groupement [parent_id,zip,type,mobile] donné ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 75
    Points : 61
    Points
    61
    Par défaut
    Ok, je comprends.

    Comment alors faire apparaître les lignes en double avec leur id ? une piste ?

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Tout dépend de comment vous voulez ressortir cette liste d'id.

    Vous pouvez soit appliquer une fonction d’agrégation sur la colonne id, (comme par exemple array_agg), soit, de façon plus basique, utiliser une fonction analytique pour ressortir une ligne par id :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    WITH CTE AS (
        SELECT parent_id,zip,type,mobile,id,count(*) OVER(PARTITION BY parent_id,zip,type,mobile) AS cnt
        FROM partner  
    )
    SELECT parent_id,zip,type,mobile,id
    FROM CTE
    WHERE cnt > 1

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Oracle] recherche de doublons dans une table
    Par Zombiman dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 05/06/2009, 09h56
  2. Recherche de doublons dans une table
    Par david71 dans le forum Access
    Réponses: 2
    Dernier message: 20/01/2008, 13h41
  3. recherche de doublon dans une table
    Par c+cool dans le forum Langage SQL
    Réponses: 1
    Dernier message: 02/01/2008, 13h29
  4. [pl-sql] Recherche de doublons dans une table
    Par tommey dans le forum Oracle
    Réponses: 1
    Dernier message: 08/11/2006, 22h53
  5. Recherche de donnee dans une table associée
    Par josoft dans le forum Requêtes
    Réponses: 2
    Dernier message: 14/07/2003, 15h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo