Meerdere malen ORDER BY

Status
Niet open voor verdere reacties.

Niellles

Gebruiker
Lid geworden
21 jun 2008
Berichten
194
Ik moet een klassement opstellen, deze wordt gebasseerd op drie velden uit mijn tabel members: punten_aantal (het totaal aantal punten van de persoon), dagzege_aantal (aantal malen dat iemand eerste werd van een dag), dagzege_hoogst (het hoogste totaal punten dat iemand ooit haalde op een dag).

In eerste instantie wordt het klassement bepaalt op het aantal punten, als er hierdoor een gelijkspel is dan wordt er gekeken nar wie de meeste dagzeges had als zelfs dat gelijk is dan wordt er gekeken naar wie de hoogste dagzege had.

Ik dacht dat even simpel op te lossen met de volgende query:
Code:
$select_members_query = "SELECT * FROM members ORDER BY `punten_totaal`, `dagzege_aantal`, `dagzege_hoogst` DESC";
In eerste instantie leek deze te werken, maar nu niet... Hij doet het niet zo dat ie eerst kijkt naar punten_totaal en dan verder maar op een andere manier (weet nog niet precies hoe.)

Moet ik dit oplossen (iemand suggesties?) of kan het ook door de query aan te passen?

Met vriendelijke groet,
Niels
 
Hij doet het niet zo dat ie eerst kijkt naar punten_totaal en dan verder maar op een andere manier (weet nog niet precies hoe.)

Waarschijnlijk wordt het nu eerst gesorteerd op punten_totaal (oplopend), dan op dagzege_aantal (oplopend) en vervolgens op dagzege_hoogst (aflopend). Volgens de MySQL Reference Manual heeft het woord "DESC" alleen invloed op de kolomnaam die ervoor staat
Als je ze allemaal aflopend wilt sorteren moet dat denk ik zo:
PHP:
$select_members_query = "SELECT * FROM members ORDER BY `punten_totaal` DESC, `dagzege_aantal` DESC, `dagzege_hoogst` DESC";
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan