Ik host een spel ( Trackmania ) en maak gebruik van een database, nu zou ik willen uitrekenen middels een sql queury wie de beste tijden heeft gezet op een baan, en deze optellen zodat ik kan laten zien welke speler de meeste beste tijden op zijn / haar naam heeft staan.
Ik heb 3 tabellen :
Challenges :
Id, Uid, Name, Author, Environment
Records :
Id, ChallengeId, PlayerId, Score, Date, Checkpoints
Players :
Id, Login, Game, NickName, Nation, UpdatedAt, Wins, TimePlayed, TeamName
Mijn query heb ik nu zo opgezet maar volgens mij doe ik iets volledig fout, en zit compleet vast, heb namelijk niet al te beste kennis van sql....
SELECT DISTINCT records.PlayerId, Max(records.Score) AS MaxVanScore, players.Login
FROM (records INNER JOIN challenges ON records.ChallengeId = challenges.Id) INNER JOIN players ON records.PlayerId = players.Id
GROUP BY records.PlayerId, players.Login;
uitkomst is als volgt nu :
--------------------------------------------------------------------------
| PlayerId | MaxVanScore | Login |
--------------------------------------------------------------------------
| 1 | 54400 | whazzaa |
--------------------------------------------------------------------------
| 2 | 38290 | pearljamfixed |
--------------------------------------------------------------------------
| 5 | 43720 | fixron__ |
--------------------------------------------------------------------------
| 7 | 53720 | peronl |
--------------------------------------------------------------------------
| 8 | 70450 | annean5 |
--------------------------------------------------------------------------
| 9 | 52610 | klomp |
--------------------------------------------------------------------------
| 12 | 47690 | thegreatjeronimo |
Volgens mij heb ik nu een lijst gemaakt van de maximale score per gebruiker, ik zou deze uitkomst nu willen tellen wie de meeste maximale scores heeft en dat binnen deze query... Wie o Wie kan me hiermee helpen.
Alvast bedankt
Gr
Raymond
Ik heb 3 tabellen :
Challenges :
Id, Uid, Name, Author, Environment
Records :
Id, ChallengeId, PlayerId, Score, Date, Checkpoints
Players :
Id, Login, Game, NickName, Nation, UpdatedAt, Wins, TimePlayed, TeamName
Mijn query heb ik nu zo opgezet maar volgens mij doe ik iets volledig fout, en zit compleet vast, heb namelijk niet al te beste kennis van sql....
SELECT DISTINCT records.PlayerId, Max(records.Score) AS MaxVanScore, players.Login
FROM (records INNER JOIN challenges ON records.ChallengeId = challenges.Id) INNER JOIN players ON records.PlayerId = players.Id
GROUP BY records.PlayerId, players.Login;
uitkomst is als volgt nu :
--------------------------------------------------------------------------
| PlayerId | MaxVanScore | Login |
--------------------------------------------------------------------------
| 1 | 54400 | whazzaa |
--------------------------------------------------------------------------
| 2 | 38290 | pearljamfixed |
--------------------------------------------------------------------------
| 5 | 43720 | fixron__ |
--------------------------------------------------------------------------
| 7 | 53720 | peronl |
--------------------------------------------------------------------------
| 8 | 70450 | annean5 |
--------------------------------------------------------------------------
| 9 | 52610 | klomp |
--------------------------------------------------------------------------
| 12 | 47690 | thegreatjeronimo |
Volgens mij heb ik nu een lijst gemaakt van de maximale score per gebruiker, ik zou deze uitkomst nu willen tellen wie de meeste maximale scores heeft en dat binnen deze query... Wie o Wie kan me hiermee helpen.
Alvast bedankt
Gr
Raymond
Laatst bewerkt: