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

Requêtes MySQL Discussion :

afficher les doublons avec mysql


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 102
    Par défaut afficher les doublons avec mysql
    Bonjour,

    Mon problème et surement déjà connu, mais je n'ai pas trouver la réponse sur le forum (peut-être mal cherché).

    Je cherche a afficher les doublons d'une collone (pas uniquement le nombre, je veux la ligne complete). Par exemple :

    ma table :
    user(id,login, mail)

    je veux obtenir la liste des logins qui ont la meme adresse e-mail.
    avec ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select mail,login,count(*) as num from user GROUP BY mail HAVING num>1;
    J'obtiens un login, le mail et le nombre de fois que l'on trouve le mail dans la base.

    Merci dpour votre aide,

  2. #2
    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 : 42
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    Bonjour,

    je comprends pas trop ce qui te manque dans cette requete. Peux tu donner un exemple?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 102
    Par défaut
    Tout d'abord merci de ta participation

    Voila mon souci, ma requete renvoie :

    mail | login | count
    toto@toto.com | toto | 2
    tata@tata.com | tata | 3

    Je n'ai pas besoin de count, Je voudrais obtenir :

    mail | login
    toto@toto.com | toto
    toto@toto.com | bob
    tata@tata.com | tata
    tata@tata.com | titi
    tata@tata.com | tutu


    une idée ?

  4. #4
    Membre éclairé Avatar de jp_rennes
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2006
    Messages : 72
    Par défaut
    Essaye

    select mail,login as num from user GROUP BY mail HAVING count(*) >1;

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 102
    Par défaut
    J'obtiens le même résultat sans la colonne count...
    c'est à dire :

    mail | login
    toto@toto.com | toto
    tata@tata.com | tata

    au lieu de :

    mail | login | count
    toto@toto.com | toto | 2
    tata@tata.com | tata | 3

    ce n'est pas vraiment le but...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 102
    Par défaut
    Bon.. je pense avoir trouvé une piste... mais je suis pas vraiment sur du resultat que j'obtiens.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT u1.mail, u1.login
    FROM user AS u1, 
    user AS u2
    WHERE 
    u1.mail=u2.mail 
    AND 
    u1.login<>u2.login
    Je précise que je n'ai besoin d'executer cette requete qu'une seule fois (donc pas de prob d'optimisation)

    si quelqu'un sait si c'est bon ou pas ? j'ai un dout sur le resultat car si je rajoute un "AND c1.mail<>'vide' AND c2.mail<>'vide'.. j'obtiens quand meme les lignes avec 'vide' dans le champs mail.

    merci,

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

Discussions similaires

  1. ne pas afficher les doublons avec distinct sous mysql
    Par Abou Zar dans le forum Requêtes
    Réponses: 8
    Dernier message: 25/01/2012, 11h49
  2. Supprimer les doublons avec order by non affiché
    Par DidRocks dans le forum Oracle
    Réponses: 1
    Dernier message: 19/09/2007, 09h42
  3. automatiser les sauvegardes avec mysql administrator
    Par beckham07 dans le forum Outils
    Réponses: 1
    Dernier message: 09/03/2006, 13h58
  4. Afficher les doublons SQL
    Par kotoji dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/01/2005, 17h32
  5. Comment afficher les accent sous mysql v4.0.13
    Par buildozer dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/06/2003, 09h33

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