doofefrage: MySql - Order By

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

  1. 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";

    1. 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

      1. 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