SQL [PHP] Ausgabe der Datenbank sortieren

te one

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.255
Hi,
ich möchte eine Rangliste erstellen auf der alle Benutzer die angemeldet sind angezeigt werden!
ist natürlich soweit erstmal kein problem!

allerdings möchte ich dass die Nutzer mit der höchstens Punktzahl oben stehen.

Ein normales SORT BY funktioniert aber nicht, da sich der Punktestand nach 3 Kriterien richtet!

also hab ich folgendes in meiner datenbank:
username: TESTUSER
Punktestand1: 5
Punktestand2: 10
Punktestand3: 3

nun sollen die ergebnisse nach des gesamtpunktestand sortiert werden (also alle 3 punktestände zusammengerechnet)!

Is des über MySQL machbar (wenn ja, wie?) oder muss ich da mit php alles in eine array hauen und dann dort halt nochmal extra sortieren?

mfg
 
Code:
SELECT ... FROM ... ORDER BY (Punktestand1+Punktestand2+Punktestand3) DESC...
Soeben getestet mit MySQL 5

Allerdings hast Du dann ein Filesort drin, was bei wenig Datensätzen noch nicht ausschlaggebend ist. Wenn jedoch mehrere tausend Datensätze so summiert und angezeigt werden sollen, schlage ich vor, ein dediziertes Punkte-Summen-Feld anzulegen, dass bei jedem Hinzufügen oder jeder Änderung vom PHP-Script geupdatet wird und bereits die Summe enthält.
 
Zuletzt bearbeitet:
wow dann gehts ja schön mit sql :)

naja ich denk dann mach ichs bei mehr datensätzen per cronjob! denn es geht um nen anfängerschutz in nem game!

dieses script lass ich immer um ca. 24 uhr ausführen! so sind die anfänger immer mindestens einen tag geschützt!

(mit php des immer zu aktualisieren ist natürlich auch kein problem..., abba wär auch mit den 24h eigentlich ganz gut)


also dann thx werds gleich mal testen.


edit: funzt super! mal gucken ob ich jemals nen anderen weg zum auslesen nehmen muss (aber denke net dass so viele user zamkommen)
 
Zuletzt bearbeitet:
Zurück
Oben