Sortierung mal wieder

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sortierung mal wieder

    Hallo zusammen,

    ich hab ne wahrscheinlich recht simple Frage, komm aber grad mal wieder nicht drauf, wie ich das ganz lösen soll. Ich habe Datensätze die ich nach ihrer Nr sortiere. Die Nummern können dabei zum Beispiel so aussehen

    LE1
    LE13
    LE10
    1
    10
    1a
    1b
    1c
    usw.

    derzeit erhalte ich folgende Sortierung
    LE1
    LE10
    LE13
    1
    1c
    1b
    1a
    10

    ich sortiere mittels ORDER BY Nr+0, möchte aber gerne, dass die LE auch in der richtigen Reihenfolge stehen und 1c,1b,1a zu 1a,1b,1c wird. Jemand ne Idee?

  • #2
    Re: Sortierung mal wieder

    Original geschrieben von krel
    ich sortiere mittels ORDER BY Nr+0
    Was soll denn das werden?

    Kommentar


    • #3
      das hab ich auch von euch hier

      Kommentar


      • #4
        lässt sich sowas etwa nicht in der Art sortieren, wie ich mir das vorstelle? Spalte ist als VarChar deklariert..

        Kommentar


        • #5
          Original geschrieben von krel
          das hab ich auch von euch hier
          Der Trick mit +0 ist im Prinzip ein ORDER BY CAST(col AS DECIMAL). Das funktioniert allerdings erst ab MySQL 5.0.8, deswegen der Trick. (*1 hätte den selben Effekt.)

          Anders als im verlinkten Thread stehen bei dir jedoch die Buchstaben vor den Ziffern. So ergibt 'LE13'+0 zum Beispiel 0, '13LE'+0 aber 13.
          Du kannst also nicht einfach so casten.

          Du wirst mit Stringoperationen und IF() arbeiten müssen. Denn du willst teilweise lexikographisch, teilweise numerisch sortieren. Schreibe dir einfach mal zu allen Werten den ASCII-Code auf.

          Kommentar

          Lädt...
          X