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

PHP & Base de données Discussion :

[SQL] count & group avec order étrange ?


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de rduvrac
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 58
    Par défaut [SQL] count & group avec order étrange ?
    Bonjour,

    J'ai le code en bas et qui me liste les parrains classées dans l'ordre en fonction de leur nombre de filleuls ayant au moins un enregistrement.

    Avec cet exemple :
    Enr. - FILLEUL - PARRAIN - PSEUDOduPARRAIN
    8 - email3 - parrain3 - Bob
    7 - email3 - parrain3 -
    6 - email2 - parrain2 - CloseToMe
    5 - email2 - parrain2 - Lovecats
    4 - email2 - parrain2 - Lovecats
    3 - email2 - parrain2 - Lullaby
    2 - email2 - parrain2 - Marcel
    1 - email1 - parrain2 -

    Cela devrait me donner idéalement :
    CloseToMe à 2 filleuls (pour un total de 5 enregistrements)
    Bob à 1 filleul (pour un total de 2 enregistrement)

    Bref il faudrait qu'il donne le PSEUDOduPARRAIN du dernier enregistrement idéalement.
    Malheureusement actuellement il m'en donne 1 pris je sais pas sur quel critère !?
    c'est pas le dernier, ni le premier, ni le plus présent... et me donne donc du genre :
    Lullaby à 2 filleuls (pour un total de 5 enregistrements)
    Bob à 1 filleul (pour un total de 2 enregistrement)

    Donc, je sais pas si c'est possible... mais peut on demander qu'il donne le PSEUOduPARRAIN du dernier enregistrement quand on utilise un "count & group" ?

    merci pour l'aide :-)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT count(DISTINCT email) AS somme, parrain, pseudo
    FROM matable
    WHERE parrain <> ''
    GROUP BY parrain
    ORDER BY somme DESC
    PS : les PARRAINs au départ n'ont pas forcement de Pseudo et peuvent le changer à volonté ensuite, voila pourquoi dans les enregistrement un même parrain à plusieurs pseudos.

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2006
    Messages : 400
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT parrain, MAX(Enr) as Enr
    FROM matable
    GROUP BY parrain
    Cette requête sélectionne le dernier enregistrement de chaque parrain. Le pseudo de chaque parrain sera celui associé à cet enregistrement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT count(DISTINCT T1.email) AS somme, T1.parrain, T3.pseudo
    FROM matable T1
      INNER JOIN ( SELECT parrain, MAX(Enr) as Enr
                        FROM matable
                        GROUP BY parrain) AS T2
               ON T1.parrain = T2.parrain
      INNER JOIN matable T3
               ON T3.Enr = T2.Enr
    GROUP BY T1.parrain

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 121
    Par défaut
    Pourquoi ne pas utiliser les id au lieu des pseudos?
    Je comprendrais jamais cette manie...

  4. #4
    Membre confirmé Avatar de rduvrac
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 58
    Par défaut
    merci je connaissais pas encore la fonction MAX :-)

Discussions similaires

  1. [MySQL-5.5] Requête SQL avec ORDER BY et GROUP BY
    Par Alexcontact dans le forum Requêtes
    Réponses: 4
    Dernier message: 29/04/2014, 14h27
  2. Problème avec : COUNT,GROUP BY,ORDER BY
    Par xabidof dans le forum Langage SQL
    Réponses: 4
    Dernier message: 09/02/2010, 10h21
  3. Requete SQL : COUNT GROUP BY
    Par Florent08800 dans le forum Requêtes
    Réponses: 3
    Dernier message: 06/10/2006, 10h04
  4. Requête récalcitrante avec un tri par COUNT sans GROUP BY
    Par Ancalagon77 dans le forum Requêtes
    Réponses: 1
    Dernier message: 05/10/2006, 14h27
  5. [Access] Requète SQL Group By, Order By and Co
    Par zoidy dans le forum Langage SQL
    Réponses: 4
    Dernier message: 09/06/2006, 14h37

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