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

Langage SQL Discussion :

Uniquement les doublons ?


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 104
    Points : 48
    Points
    48
    Par défaut Uniquement les doublons ?
    Bonjour,

    Voila question toute bete :
    Comment faire une requete pour faire apparaitre uniquement les doublons d'une table ?



    Merci...

  2. #2
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Les doublons d'une table ???? pas tellement normalisé ca !!!
    Normalement il n'y a pas de doublons dans une table (ca veut dire qu'il n'y a pas d'unicité de données).
    Tu veux parler de doublons dans une colonne?

    Dans ce cas,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT  
        <colonne> 
    FROM
        <Table>
    GROUP BY 
        <colonne> 
    HAVING (count(*)=2)
    J'espere que ca va t'aider
    Bon Courage

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 104
    Points : 48
    Points
    48
    Par défaut
    heu oui oui les doublons d'une table...


    Merci, je vais regarder ca...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 104
    Points : 48
    Points
    48
    Par défaut
    Bon et bien ca ne fonctionne pas, quand je met ca :
    SELECT nom
    FROM adherent
    GROUP BY nom
    HAVING (count(*));
    Ca me donne la meme chose qu'un select distinct..., c'est à dire l'inverse que ce que je veux.
    Je veux faire apparaitre uniquement les lignes de ma table ou les noms sont en doublons...

    Quand à ton HAVING (count(*)=2) à quoi sert il ?


  5. #5
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Tu peux preciser ton SGBD ?

    Explication

    Si tu crées cette requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT count(*), nom 
    FROM adherent
    GROUP BY nom
    Ton SGBD va te retourner quelque chose dans ce genre :

    COUNT(*) | NOM
    ----------------------
    1 | TOTO
    2 | TUTU
    1 | TATA
    1 | TITI
    Toi tu aimerais recuperer TUTU car ton SGBD a denombré 2 enregistrements (=doublon)

    Mais tu ne peux pas faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      WHERE count(*) = 2
    La seule solution est de passer par un Having
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       HAVING (count(*)=2)
    voila,

    J'espere avoir été limpide
    Bon courage

  6. #6
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    salut,

    au cas ou ce sont plus que des doublons (des triplets par ex),
    tu modifie ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HAVING (count(*)>=2)
    mais la requete donnée ne fonctionne que si une des colonnes de ta table posséde ded doublons

    bon courage

    Michel

  7. #7
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Citation Envoyé par Cybher
    salut,

    au cas ou ce sont plus que des doublons (des triplets par ex),
    tu modifie ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HAVING (count(*)>=2)
    mais la requete donnée ne fonctionne que si une des colonnes de ta table posséde ded doublons

    bon courage

    Michel

    C'etait bien la question posée

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 104
    Points : 48
    Points
    48
    Par défaut
    Ah ok le 2 etait le nombre d'enregistrement...
    Merci ca amrche nickel maintenant avec cette requete :
    SELECT count(*), nom
    FROM adherent
    GROUP BY nom
    HAVING (count(*)>=2);

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

Discussions similaires

  1. Creer clef unique et supprimer les doublons
    Par olibara dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/06/2011, 20h07
  2. Combinaison de key unique -interdire les doublons-
    Par llaffont dans le forum Débuter
    Réponses: 4
    Dernier message: 10/12/2010, 11h38
  3. Réponses: 3
    Dernier message: 22/03/2010, 09h14
  4. Récupéré les doublons uniquement???
    Par hoaxpunk dans le forum Oracle
    Réponses: 6
    Dernier message: 12/04/2006, 16h19
  5. Rendre les doublons uniques ?
    Par ggnore dans le forum Linux
    Réponses: 4
    Dernier message: 12/10/2004, 16h52

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