MySQL Rows zählen?

Hey.
Für ein aktuelles Rankingsystem, welches ich über MySQL coden möchte, brauche ich eine Methode, um die Position eines Teilnehmers herauszufinden.

Mein Gedanke wäre, erst die Tabelle mit dem SELECT Befehl meine Datenwerte zu sortieren, und danach mit einer while Schleife, alle ResultSets durchzugehen, bis das ResultSet den Namen des Teilnehmers zurückgibt. Im Hintergrund zähle ich einen Integer hoch.

Jedoch kommt mir diese Methode nicht effizient vor. Bei z.B. 17.000 Datenbankeinträgen wären dies bestimmt ein paar Sekunden. Nun meine Frage an euch, kennt ihr eventuell eine effizientere Methode?

Hoffe auf hilfreiche Antworten!

MfG, Summerfeeling.
 
Zuletzt bearbeitet:

stg

Top Contributor
Nunja ... die Anzahl der Spieler mit einer Score größer als der eigenen, entspricht ja doch gerade der eigenen Position -1.

Du musst also nur Datenbankseitig (SELECT COUNT (...)) die Anzahl der besagten Spieler zählen, und anschließend 1 auf diese Zahl addieren, dann hast deine Antwort.
 
Hey,
danke erstmal für diesen Gedankenanstoß.

Nun habe ich das Problem, dass ich noch nie mit COUNT gearbeitet habe. Könntest du mir vielleicht kurz erläutern, was dieser Befehl/dieses Argument bringt, und wie ich dieses anwende?
 

Ähnliche Java Themen

Neue Themen


Oben