Une requête mysql count

WRInaute impliqué
Bonjour, j'ai créé une table qui intègre le résultat d'un match de 5 joueur contre 5 joueur. ( je schématise un peu )
Ces joueurs sont classés par leur fonction du genre "gardien / attaquant ", etc.

J'aimerai pouvoir trouver et classe le nombre de fois qu'un joueur a participé, sans connaître son nom spécifiquement.
Je m'explique avec un exemple

Gardien ,défenseur, attaquant, valeur1

Eric,David,Jean,0-0
Fred,Jean,David,0-0
David,Michel,Eric,1-1


Comment savoir que, dans le cas présent, c'est David, qui a le plus joué avec une requête mysql ?

Si c'était dans une seule colonne, je saurai faire ( count, group by ), mais en multiples.. pas moyen.

Si vous savez, merci vraiment ;P
 
WRInaute occasionnel
Avec une table abc contenant les champs gardien, defenseur, attaquant et 'meilleur_joueur' la variable de regroupement :

Code:
SELECT meilleur_joueur, 
  COUNT(meilleur_joueur) 
  
  FROM (SELECT gardien AS meilleur_joueur FROM abc 
          UNION ALL  
          SELECT defenseur AS meilleur_joueur FROM abc
          UNION ALL
          SELECT attaquant AS meilleur_joueur FROM abc
       ) t

 GROUP BY t.meilleur_joueur 
 ORDER BY COUNT(meilleur_joueur) DESC

Pas testé mais ça devrait fonctionner ;)
 
WRInaute occasionnel
Merci :D

Je suis en plein dans l'optimisation des bases et des requêtes sql alors ça s'écrit (presque) tout seul :mrgreen:
 
Discussions similaires
Haut