Deze zoekopdracht zou moeten geven wat je nodig hebt:
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)
Het gaat ervan uit dat een gelijkspel een overwinning is voor beide spelers.
Als je alleen de speler en hun aantal overwinningen wilt krijgen, kun je deze zoekopdracht gebruiken:
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
Vervang gewoon {player_id}
met de speler die je zoekt en wins
is hun aantal overwinningen of gelijkspel.