My SQL und Lücke in Reihe schließen

OP #2431430
Lesenswert?

Da es um ein Ranking System geht, reicht es mir nicht, die zwar in der 
richtigen Reihenfolge zu haben, sondern der Rank muss tatsächlich 
stimmen. Wird ein Sportler entfernt, müssen alle nachrutschen.
Im Moment mach ich das mit ca. 20 Zeilen Code, und frage nur aus 
Interesse, ob es auch einfacher geht.

Ich seh mir mal das SelfJoin an, danke
#2431466
Lesenswert?

Mike Mike schrieb:
> Da es um ein Ranking System geht, reicht es mir nicht, die zwar in der
> richtigen Reihenfolge zu haben, sondern der Rank muss tatsächlich
> stimmen. Wird ein Sportler entfernt, müssen alle nachrutschen.
> Im Moment mach ich das mit ca. 20 Zeilen Code, und frage nur aus
> Interesse, ob es auch einfacher geht.

Prima, die wesentliche Info kommt erst später, danke!
#2431470
Lesenswert?

Wobei du den Rang ja dynamisch generieren kannst.
Mit 1,2,3,5,6 stimmt die Reihenfolge...der Rang wird dann einfach 
durchnummeriert von 1-5

Wodurch kommt dein Rang denn Zustande? Durch Punkte? Durch Zeiten? 
Danach könnte man ja einfach sortieren. Für mich scheint das so, als ob 
du bei jeder Änderung durch alle Zeilen gehst, und den Rang 
"nachführst". Das ist IMHO aber überflüssig
#2431486
Lesenswert?

Solche Funktionalität gibts dann halt nicht :P
Ne stimmt, das hatte ich nicht bedacht. Wobei mein Bauchgefühl mir sagt, 
das das eher ein dynamisches Anzeigeproblem ist.
Ich habe eine Million Datensätze, und Nr. uno verabschiedet sich, dann 
müssen 999.999 Datensätze geupdatet werden? Hört sich nicht sehr 
effizient an
Gast #2431506
Lesenswert?

Karl Heinz Buchegger schrieb:
> A. B. schrieb:
>> Wobei du den Rang ja dynamisch generieren kannst.
>> Mit 1,2,3,5,6 stimmt die Reihenfolge...der Rang wird dann einfach
>> durchnummeriert von 1-5
>
> Ist aber ein bischen blöd bei Einzelabfragen.
> Auf welchem Ranking liegt der Huber Sepp?

Mit SelfJoin oder durchzählen. Vor dem Problem stand ich auch schonmal, 
jedenfalls ist eine dynamische Ranggenerierung schöner wenn sich Ränge 
häufig ändern.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren