Page 1 sur 1

Classement sql/php

Posté : 08 sept. 2013, 17:52
par RunZ
Bonjour à tous,

Je sollicite aujourd'hui votre aide, car j'ai du mal à créer un simple classement en php.

C'est étonnant de galérer sur si peu, je sais bien.. Mais au départ, j'avais ma requête dans la tête, puis je me suis rappelé l'organisation de ma base de donnée, ce qui à chamboulé mes plans :

Image

Grâce à cette table, j'aimerais faire un classement des 10 membres ayant le plus de badge (badge_id= code d'un badge) en passant par l'id de l'utilisateur et ensuite récupérer ses informations.

En gros il faudrait récupérer les dix userid ayant le plus d'entrées dans la table. Mais je bloque au niveau de la requête sql..

Je vous remercie d'avance.

Re: Classement sql/php

Posté : 08 sept. 2013, 17:59
par moogli
salut,


il te faut utiliser :
count() : pour compter les badges
group by pour grouper le calcul par utilisateur (donc référencé par leur id).

pour la limite cela dépend du sgbd que utilise mysql propose la clause limit, avec oracle utilise rownum etc etc.


@+

Re: Classement sql/php

Posté : 08 sept. 2013, 18:21
par RunZ
Je viens de faire:
SELECT user_id,COUNT(*) FROM user_badges GROUP BY user_id ORDER BY COUNT(user_id) DESC LIMIT 0,20;
Et sa marche niquel, merci moogli :)

Re: Classement sql/php

Posté : 08 sept. 2013, 19:39
par moogli
de rien, pense au bouton résolus (en haut a droite du sujet ;)

merci

@+