Cette requête devrait obtenir ce dont vous avez besoin :
SELECT
player_id, game_id, score
FROM
(
SELECT game_id,MAX(score) AS MaxScore
FROM games
GROUP BY game_id
) AS Winners
JOIN games
ON (games.game_id = Winners.game_id AND games.score = Winners.MaxScore)
Il suppose qu'une égalité est une victoire pour les deux joueurs.
Si vous souhaitez obtenir uniquement le joueur et son nombre de victoires, vous pouvez utiliser cette requête :
SELECT
player_id, COUNT(*) AS wins
FROM
(
SELECT game_id,MAX(score) AS MaxScore
FROM games
GROUP BY game_id
) AS Winners
JOIN games
ON (games.game_id = Winners.game_id AND games.score = Winners.MaxScore)
WHERE player_id = {player_id}
GROUP BY player_id
Remplacez simplement {player_id}
avec le joueur que vous recherchez et wins
est leur nombre de victoires ou d'égalités.