MySql - Order By
doofefrage
- datenbank
0 dedlfix0 doofefrage0 Ilja
Moinsen,
ordnet MySqls Order By Desc folgende varchar-Einträge wie folgt:
2.5.
2.
1.4.7.
1.4.
1.3.8.
1.3.6.
1.3.
1.
Wenn ja, wie könnte ich es am einfachsten erreichen, dass sie so geordnet werden:
2.
2.5.
1.
1.4.
1.4.7.
1.3.
1.3.8.
1.3.6.
grüße
echo $begrüßung;
ordnet MySqls Order By Desc folgende varchar-Einträge wie folgt:
Ja.
Wenn ja, wie könnte ich es am einfachsten erreichen, dass sie so geordnet werden:
Indem du mit geeigneten Funktionen die Teilstrings extrahierst, bei Nichtvorhandensein einen Wert größer des größten vorhandenen Teilstrings verwendest (zum Beispiel ist ein A größer als 9) und einzeln nach ihnen sortierst.
ORDER BY teilstring1() DESC, teilstring2() DESC, teilstring3() DESC
echo "$verabschiedung $name";
Mittag,
danke für die Antwort.
Zerlegen in teilstrings kann aber nur solange funktionieren, solange ich weiß wieviele Teilstrings sich ergeben ...
Gibt es eine akzeptable Lösung mit PHP das ASC-sortierte Ergebnis entsprechend umzusortieren?
Grüße
yo,
Gibt es eine akzeptable Lösung mit PHP das ASC-sortierte Ergebnis entsprechend umzusortieren?
erzeuge eine pseudospalte, entferne dabei die "." zeichen aus dem string, fülle rechtsseitig (RPAD) die strings mit "9" auf, bis zur länge des maximalen strings, den man vorher mit einer unterabfrage ermittelt hat, gegenfalls noch zum integer umwandeln. sortiere dann wie gewollt abwärts mit dieser speudospalte und zusätzlich noch mal aufwärts nach der orginal spalte ASC, um die problematik mit 9 am ende aufzulösen.
Ilja