Partage
  • Partager sur Facebook
  • Partager sur Twitter

nombre d'affilés

    22 avril 2011 à 16:25:00

    Bonjour a tous

    Pour un Kador de mysql ma question sera surement triviale... mais moi je me casse les dents dessus depuis un petit moment alors je sollicite votre aide

    le contexte est simple. J'ai une table player dans ce genre
    id_player : chaque joueur a un id a la creation
    id_group : le joueur sont classé par categorie. id du group du joueur
    id_ sponsor : chaque joueur a un autre joueur comme sponsor

    donc un meme joueur peut etre sponsor de plusieurs joueurs et j'aimenrai bien savoir combien

    je me suis fait une request suivante...mais le resultat que ca retourne est que chaque player a un affilé...donc c'est pas bon :(

    SELECT id_player, count(id_player) as num_aff
    FROM player
    WHERE id_sponsor in(
      select id_player from player where id_group=2
    )
    GROUP BY id_player
    


    merci d'avance pour votre aide
    Dte
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      22 avril 2011 à 16:45:15

      Citation : dte

      donc un meme joueur peut etre sponsor de plusieurs joueurs et j'aimenrai bien savoir combien



      select id_sponsor, count(*) from player group by id_sponsor
      
      • Partager sur Facebook
      • Partager sur Twitter
        22 avril 2011 à 19:02:23

        Merci Enax...mais ca couvre pas trop bien mes besoins, Ce query list le nombre de fois qu'un id_sponsor est sité...donc il supprime les player qui ne sont pas sponsor d'un autre joueur.

        Je cherche a avoir ce genre de reponse:

        | id_player | nom | nbr affiliés |
        | 10 | toto1 | 0 |
        | 11 | toto2 | 3 |
        | 12 | toto3 | 0 |
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          22 avril 2011 à 19:48:38

          A tester, mais ça doit être quelque chose comme ça :

          select
                p.id_player,
                p.nom,
                a.affilie
             from
                player p
                left outer join (select id_sponsor, count(*) affilie from player group by id_sponsor) a on p.id_player = a.id_sponsor;
          
          • Partager sur Facebook
          • Partager sur Twitter

          nombre d'affilés

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown