suit: MySQL nach mehreren Feldern übergreifend sortieren.

Beitrag lesen

Hallo,

ein kleines Problem bzw. eine Frage:

Wie kann ich mit MySQL in Abhängigkeit bestimmter Feldinhalte sortieren?

ID | foo | bar
---+-----+------
1  | aaa |
2  | ccc |
3  | ddd | zzz
3  | fff |
5  | ggg | bbb

Ich möchte folgende Tabelle nun nach foo und bar sortieren und zwar so, dass prinzipiell nach "foo" sortiert wird, die Feldinhalte von "foo" aber mit jenen von "bar" (wenn vorhanden) "überlagert" werden

Prinzipiell würde ich einfach beide Felder mit CONCAT zusammenhängen, in ein Alias schreiben und nach dem Alias sortieren.

SELECT CONCAT (bar, foo) as baz ORDER BY baz

Damit sollte ich als Ausgabe folgendes erhalten:

baz
------
aaa
bbbggg
ccc
fff
zzzddd

Für meinen Anwendungsfall würde dies wahrscheinlich ausreichen, wird aber vemutlich bei variablen Stringlängen zu abweichungen in der Reihenfolge kommen - oder täusche ich mich da?

Bzw. gibts dafür eine andere, bessere Möglichkeit?