Recherche de doublons

Salut, J'arrête pas d'avoir des pb, j'en ai marre!

Cette fois ci, je voudrait chercher les doublons dans ma table de ma base qui est toujours sur MySQL sous windows.
Exactement, j'ai une table clients et je voudrait connaître ceux qui ont le même Telephone.
Voila ce que je fait:

SELECT Telephone FROM clients GROUP BY Telephone HAVING COUNT(Telephone)>1;

Et là, il m'affiche 2 clients mé qui ont des tel diférent:
RaisonSociale Telephone
essai 04.94.25.25.25
lbn 04.42.56.85.12

Au lieu de:
RaisonSociale Telephone
essai 04.94.25.25.25
clt 04.94.25.25.25

Merci de bien vouloir m'aider.

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Precisons le probleme veux tu...
    Tu as une table (simplifiee):

    Nom Tel
    aaa 999
    bbb 111
    ccc 999
    ddd 222
    eee 111

    et tu veux avoir en sortie de ta requete

    999 2
    111 2

    C'est ca?

    .  .
    \_/
    1. Ta compris le truc mais au lieu de m'afficher le nombre de doublons, je veux qu'il me les affiche carrément:

      aaa 999
      ccc 999
      bbb 111
      eee 111

      Merci de te pencher sur mon pb
      1. Contributeur
        OK...
        SELECT nom, tel, COUNT(tel) AS occurence FROM matable WHERE occurence>1 ; ca marche pas ca?

        En tout cas, tu ne peux pas utiliser un GROUP BY, cela regroupe les donnees selon ce critere...

        .  .
        \_/
        1. Non ca ne marche pas,
          Il me dit : Champ 'occurence' inconnu dans where clause.
          Par contre si je met le count dans le having, là il me met qu'un seul enregistrement.
          càd, sur
          aaa 999
          ccc 999
          il me donne que : aaa 999
          1. Bonjour,

            J'ai le même problème que toi...
            J'ai une requête avec un group by et having mais ça ne me donne pas les doublons à cause du groupe by qui les supprime..

            je cherche une solution, si jamais tu en trouves une ce serait cool que tu me la transmette.. et dès que j'ai trouvé je te mail...

            merci
          2. @LetissyaSalut, Désolé d'avoir tardé pour te répondre mais ca fé un bail que je vé plus sur ma boite email.
            Sinon,j'ai résolu mon problème en faisant 2 requêtes.
            La première sélectionne tous les téléphonnes de ma table, je les mets dans une variable.
            Et dans ma deuxième requête je sélectionne les clients qui ont le même téléphonne que que les N°Tel que g mis dans ma variable grace à la requête précédente.

            Je sé pas si ta compris le contexte mé ca fé longtem que g fait ca et je me souvien pas exactement de mon script.
            Mé je vé voir et en cas je te passe exactement la syntaxe.
            A plus
          3. @elodieJe ne connais pas MySQL mais sur Oracle ou sur SQL Server, j'aurai écrit ceci :

            select A.nom,
            A.telephone
            from table as A,
            table as B
            where A.telephone = B.telephone
            and A.nom != B.nom
          4. @dmonnierfrBen cela fonctionne, merci..
            Par contre j'aimerai aller un peu plus loin, je m'explique :
            j'aimerais pouvoi afficher en fonction du nombre de personne qui a le même numéro.

            Pour le moment j'ai un truc comme ça :
            aaa 999
            ccc 999
            fff 999
            bbb 111
            eee 111
            rrr 555
            ...

            et ce que j'aimerais c'est paramétrer en fonction du meme numéro de téléphone ma requete pour obtenir juste:
            aaa 999
            ccc 999
            fff 999

            ou

            bbb 111
            eee 111

            Je suis pas certaine que ce soit possible mais bon.
          5. @dmonnierfrBen je viens de trouver la solution

            select A.nom,
            A.telephone
            from table as A,
            table as B
            where A.telephone = B.telephone
            and A.nom != B.nom
            group by A.nom, A.telephone
            having count(A.nom) = X

            X étant la valeur à paramétrer : 1, 2, 3, ....

            j'ai un petit bug néanmoins quand je met X = 2 il m'affiche tous les groupes de 3 personnes qui ont le meme tél.. mais bon
            Merci à tous pour votre aide