Forum: PC-Programmierung My SQL und Lücke in Reihe schließen


von Mike M. (mikeii)


Lesenswert?

Hi,

hab mal ne Frage ob sowas auch direkt möglich ist.

Wenn ich in ner Spalte die Folge 1,2,3,5,6 habe, möchte ich, dass der 
Datensatz nachher so aussieht: 1,2,3,4,5  also automatisch die "Lücke" 
geschlossen wird. Ist sowas direkt möglich?

Danke

von Udo S. (urschmitt)


Lesenswert?

Bitte?
Jeder Datensatz ist eine Zeile.
sortieren tut man mit "order by"
Die Anzeige über eine Oberfläche ist nur "eine Anzeige" Man kann nach 
diverses Kriterien selektieren und ordnen. Das Zauberwort ist SQL.

von Dieter (Gast)


Lesenswert?

Ist etwas tricky aber es geht.

Per SelfJoin alle Sätze suchen die keinen direkten Nachfoöger haben und 
diese dann einfügen.

von Mike M. (mikeii)


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

von Udo S. (urschmitt)


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!

von A. B. (funky)


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

von Karl H. (kbuchegg)


Lesenswert?

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?

von A. B. (funky)


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

von D. I. (Gast)


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.

von D. I. (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.