Requete pour calculer une moyenne???

Répondre
tintindelacite
le 27/02/2008 à 21:37
tintindelacite
Slt à tous, j'ai une table "stats_joueurs" avec les champs id auto, statut varchard,nom_prenon varchard, id_journee int,rencontre varchard,note float, commentaires text, j'aimerais savoir comment je dois m'y prendre pour afficher le champ nom_joueur qui a obtenu la meilleure moyenne sur le champ note de toute les journee champ id_journee, j'espère avoir bien expliquer....merci
LA GLOBULE
le 27/02/2008 à 22:59
LA GLOBULE
SELECT AVG(note) AS moyenne, id_joueur
FROM stats_joueurs
GROUP BY id_joueur
ORDER BY moyenne DESC
LIMIT 1


Par exemple.

PS : tu ne précises pas où trouver l'id du joueur, si il n'est pas dans la table stats_joueur, fait une jointure.
tintindelacite
le 28/02/2008 à 00:06
tintindelacite
Slt, excuse moi mais j'ai besoin de petites précision moyenne est un champ ou un mot réservé? je n'ai pas de champ id_joueur doit je créer un champ id_joueur ou mon champ nom_prénom peut faire l'affaire? Bon comme tu vois je comprends pas trop je débute?
Si tu peut m'expliquer un peu la requête suis preneur Merci beaucoup
LA GLOBULE
le 28/02/2008 à 00:32
LA GLOBULE
Ben le AS permet de renommer des données.
Donc je dis que que "AVG(note)" (qui est la moyenne) s'appellera "moyenne" quand tu la récupèreras en PHP avec un mysql_fetch_array (tu auras un $data['moyenne']).

Pour ton joueur, moi je mettrais l'id du joueur dans la table et non son nom (qui lui doit être dans une table joueur : id / nom).

Et pour la requête, ben ce qui permet de calculer une moyenne d'un champ, c'est le AVG (average), mais il faut grouper sur un champ afin de "réunir" les données sur lesquelles le calcul doit se faire, donc suivant l'id du joueur.
tintindelacite
le 28/02/2008 à 19:36
tintindelacite
Slt, ca mesort bien une moyenne, je l'ai pas vérifié pour l'instant, j'ai rajouté un champ id_joueur int, mais je dois y mettre quoi dedans? comme c'est moi qui rentre les donnés avec un formulaire?...Effectivement j'ai une table effectif ou j'ai un champ nom et un champ prenom, est ce que je pourrais les utiliser avec une jointure pour afficher le joueur a qui correspond la meilleure moyenne actuelle...et pourquoi pas son champ chemin_photo?
Merci la globule et bravo pour le site et les cours
@+
LA GLOBULE
le 28/02/2008 à 20:25
LA GLOBULE
Ben dans id_joueur, tu mets l'id du joueur (vabale, comme je te l'ai dis dans mon message précédent que si tu as une table qui liste les joueurs, avec des champs id / nom / prenom).

Sinon, tu peux aussi utiliser ton champ nom si il est clé primaire d'une autre table (ce que je veux dire par la, c'est que si tu as X joueurs qui s'appellent "jean", ton truc tient pas la route, il faut que le joueur "jean" soit unique pour que la moyenne soit correcte).
tintindelacite
le 29/02/2008 à 09:03
tintindelacite
Slt, merci la requ^éte fonctionne même si pour moi au niveau compréhension...le fait de id_joueur dans une autre table, sans jamais la nommée reste un mystère...2 petites questions, dans mon formulaire quand je rentre les données après match y aurait il un moyen d'optimiser les données pour id_joueur?ou je dois rajouter un select?(genre liste déroulante?) Et pour l'affichage si je souhaite associer le champ chemin photo faut il que je fasse une jointure?
Merci pour tout et bonne continuation @+
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours