Ik ben bezig een spel te bouwen met behulp van coldfusion en Microsoft SQL server en ik zit met het volgende probleem. Aan het eind van het spel is het leuk om een highscore te zien, maar daar sta je lang niet altijd in omdat je niet meteen heel goed bent. Ik laat nu dus wel een top 10 zien maar wil ook laten zien op welke plek de speler geeindigt is (bijv. 525ste). Ik doe het op het moment door gewoon alle scores te sorteren en dan met een loop langs alle resultaten gaan net zolang tot ik bij de game_id ben van het laatst gespeelde spel. Dit gaat goed bij een paar honderd gespeelde spellen, maar als het er meer dan 1000 worden schiet dit niet op. Wat ik dus eigenlijk wil is met behulp van een query gelijk de behaalde plek van een speler op kunnen vragen zonder een eindeloze loop te gebruiken.
Zoiets als:
maar rank is dan dus geen kolom in de tabel. Deze manier werkt dus niet, maar zoiets zou ik dus willen heeft iemand enig id hoe ik dit moet oplossen?
Zoiets als:
code:
1
2
3
| <cfquery name="ranking" datasource="db_spel">
SELECT rank FROM game_info WHERE game_id = '10' ORDER BY score DESC;
</cfquery> |
maar rank is dan dus geen kolom in de tabel. Deze manier werkt dus niet, maar zoiets zou ik dus willen heeft iemand enig id hoe ik dit moet oplossen?