login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Rank list

Offline Frisbee - 12/06/2006 09:16 (laatste wijziging 12/06/2006 09:17)
Avatar van FrisbeeHTML beginner Ik wil een rank list maken aan de hand van een score veld maar kom er niet helemaal uit. Het probleem zit hem erin dat wanneer 2 gebruikers hetzelfde aantal punten hebben deze dezelfde rank moeten hebben.

Tot nu toe heb ik dit:
  1. SELECT COUNT(*) + 1 AS rank, t1.username, t1.score FROM TblUsers AS t1 LEFT JOIN TblUsers AS t2 ON (t2.score > t1.score) GROUP BY t1.id ORDER BY score DESC


De users op de eerste en tweede plaats hebben dezelfde score. Zij krijgen als rank nu beide 2. De rest van de ranks kloppen wel.

Weet iemand hier een oplossing voor?

2 antwoorden

Gesponsorde links
Offline marten - 12/06/2006 09:37
Avatar van marten Beheerder Je kan een soort counter bij houden die de aantal ranks bekijkt. Deze print de ranking daarvoor uit. Maar als er meerdere voorkomen alleen de eerste uitprinten

Je krijgt dus bijvoorbeeld

rank
speler
1 speler1
2 speler2
3 speler3
speler4
4 speler5
5 speler6
6 speler7
7 speler8
8 speler9
Offline Frisbee - 12/06/2006 09:50 (laatste wijziging 12/06/2006 09:52)
Avatar van Frisbee HTML beginner Dat idee had ik eerst ook maar dan kwam ik in de knoei met de pagina's. Op bijvoorbeeld de tweede pagina kon ik dan niet weten wat de laatste score op de pagina ervoor was.

Het probleem is opgelost. Ipv COUNT(*) doe ik nu COUNT(t2.id) en dan werkt hij goed 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.279s