GROUP BY colonne, savoir si la colonne existe dans la table

Avatar du membre
Mammouth du PHP | 1564 Messages

08 nov. 2013, 23:19

Bonjour,

j'ai un requête compliquée à faire, j'en ai fait une partie, elle fonctionne bien mais je voudrai récupérer le champ "email" de ce que me retourne mon GROUP BY, voici la requête:

PS: C'est un concours, donc un classement, sur les 10 premières lignes.
SELECT *,COUNT(username) as total_filleul, SUM(paid_concours) as total_paid 
FROM users 
WHERE ref != '' AND bonus_ref_10_dollar_acqui = 1 
GROUP BY ref 
ORDER BY total_filleul DESC,total_paid DESC LIMIT 0,10
Admettons que seulement trois membres sont classés au concours, voici la liste des 3 premierrs membres:

Code : Tout sélectionner

pseudo: ko total filleul: 2 Classement: 1er mail: ??? --------------------------- pseudo: adm total filleul: 1 Classement: 2ème mail: ??? --------------------------- pseudo: lt total filleul: 1 Classement: 2ème mail: ??? Voici la table en pièce jointe Ma question: comment je peut récupérer le mail des gagnants ?
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

09 nov. 2013, 14:23

Modération :
Afin d'obtenir plus de réponses, le sujet a été déplacé dans un forum plus approprié.


salut,

vire l’étoile et ajoute le champs email dans le select ET dans le group by (sinon erreur sur la selection d'un champ qui n'est pas dans la clause de groupe.


@+
Il en faut peu pour être heureux ......

Avatar du membre
Mammouth du PHP | 1564 Messages

09 nov. 2013, 18:03

Ok pour la modération, merci.

Ta réponse donnerai quoi sur le papier stp ?

ViPHP
ViPHP | 2577 Messages

12 nov. 2013, 23:18

select parrain.email, filleul.*
from user as parrain, user as filleul
where parrain.username = filleul.ref
En regardant le résultat de cette requête, tu devrais trouver le reste facilement

Avatar du membre
Mammouth du PHP | 1564 Messages

12 nov. 2013, 23:38

Merci, je regarderai plus tard ;)