Bonjour à tous,
J'ai un petit soucis en ce moment sur un classement de résultat MySQL, je vous explique le sujet.
En gros, nous avons un jeu qui génère des highscore, si vous êtes dans le top 50, vous pouvez remplir vos informations pour rentrer dans les stats. Et donc une personne peut être deux fois dans la base.
Mon problème : Je souhaites afficher les 10 meilleurs joueurs de ma base MySQL avec argument : Adresse email Unique et prendre le résultat le plus haut par personne.
Ma base de donnée contient ces champs : id, nom, prenom, adresse, ville, cp, pays, email, score
Donc j'ai essayé quelques scripts pour afficher les résultats, soit avec DISTINCT ou avec GROUP BY.
Les résultats ne sont pas bons, quelques personnes ne ressort pas dans l'affichage de cette liste et pourtant elles sont bien dans le top 10.
Voici mon code :
Il me sort donc bien 10 personnes, mais le problème c'est que ça n'affiche pas le meilleur score des personnes qui sont deux fois ou plus dans la base.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $query = mysql_query("SELECT * FROM codelyoko GROUP BY email ORDER by score DESC LIMIT 0,10"); while($ds=mysql_fetch_array($query)) { echo $ds[score]. ' - ' . $ds[email] .'<br>'; }
Si quelqu'un a une idée sur la chose, elle serait la bienvenue.



Répondre avec citation



Partager