dedlfix: Sortierung im Select...

Beitrag lesen

Hi!

Also das Vorhaben hat schon einen Sinn.

Ich erkenne ihn genausowenig wie Sven.

In der relevanten Spalte sind teilweise Kennziffern angehängt, die die Sortierung beeinflussen würden.

Wenn du es nicht genauer spezifizierst, dann bekommst du bei zwei gleichen Werten keine Garantie zur Reihenfolge des Ergebnisses.

Manche Werte in der Spalte key sehen aber auch so aus: '5200-1' oder '5200-2'.

Du bekommst also - mal nur diese beiden Werte betrachtet - mit theoretisch 50% Wahrscheinlichkeit

'5200-1'
  '5200-2'

oder

'5200-2'
  '5200-1'

geliefert. Deine Reihenfolge wird nun also nicht mehr von deiner Sortierung sondern vom Zufall beeinflusst. Dass das DBMS von sich aus die Reihenfolge beibehält, so wie die Datensätze physisch oder zeitlich irgendwann mal geschrieben wurden, darauf solltest du dich nicht verlassen. Ein DBMS sichert dir das jedenfalls nicht zu. Besser wäre, wenn du zusätzlich zum LEFT(spalte, 4) noch ein zweites Kriterium angibst, dass eine gewünschte Reihenfolge garantiert.

Da ich aber strikt nach dem eigentlich Datensatztyp, der eben nur durch die ersten 4 Ziffern sortieren möchte, dürfen die zusätzlichen Kennziffern, die nur in einer anderen Ausgaberoutine eine Rolle spielen, keine Rolle spielen.

Wie gesagt, es ist keine strikte Sortierung, wenn du den Rest dem Zufall überlässt.

Lo!