8795 sujets

Développement web côté serveur, CMS

bonjour,

Je suis en pleine construction d'un site qui pourra gerer des tournois (enregistrer des parties et afficher un classement)
j'ai une base de donnée dans laquelle je stocke les parties voici un extrait de la table concernée :
upload/21561-extrait.jpg
j'aimerai générer mon classement a l'aide d'une requete sql, le classement se fait en fonction du nombre de point du joueur et de sa diff+/-
les points se calculent de la manière suivante :
-> 1 match gagné = 3 points
-> 1 match nul = 1 point
-> defaite = 0 points
un match se fait en trois manche la diff correspond au nombre de manche gagné moins le nombre de manche gagné


mais je n'arrive pas à calculer le nombre de point dans ma requete, je pourrai le faire en 2 requête (une pour les victoires et une pour les matchs nuls) mais je ne pourrais plus classer l'affichage en fonction des points ...

NOTE : les resultats des matchs sont stockés dans le champ "result" W = win , L = loose
Modifié par mwspimiento (21 May 2010 - 17:40)
Cette requête dois marcher.
Je l'ai testé vite fais et à priori elle fonctionne bien.
SELECT id_joueur, SUM(
CASE WHEN score_joueur > score_opponant
THEN 3
ELSE 1
END ) AS points
FROM `table`
WHERE score_joueur >= score_opponant
GROUP BY id_joueur
ORDER BY points DESC

Modifié par moust (21 May 2010 - 20:03)