Chris: MySQL: sortieren nach Länge der Zeichen in Feld?

Hallo Leute!

Kann mir jemand bei einem Problem weiterhelfen?

Ich habe in einer Datenbank ein Feld "parts", in dem eine Menge Zahlen durch Kommata getrennt eingetragen sind.
Nun brauche ich eine Sortierfunktion, um die Einträge anzuzeigen, die die meisten Einträge in "parts" haben, also das "parts" Feld mit der größten Zeichenlänge (das würde reichen).

Wie bewerkstellige ich sowas? Hab im Netz nichts nützliches gefunden.
Danke für jede Hilfe,
Chris

  1. Hi,

    SQL ist an vielen Stellen viel intuitiver als viele denken, die Lösung ist eigentlich sehr simpel. Du willst nach der LENGTH des Feldes sortieren, also sag ihm genau das.
    SELECT ...
    FROM ...
    WHERE ...
    ORDER BY LENGTH(parts) DESC

    MfG
    Rouven

    --
    -------------------
    ie:| fl:| br:> va:| ls:& fo:) rl:( n4:{ ss:) de:] js:| ch:? mo:} zu:|
    1. hi,

      SQL ist an vielen Stellen viel intuitiver als viele denken, die Lösung ist eigentlich sehr simpel. Du willst nach der LENGTH des Feldes sortieren

      Nein, will er nicht.

      "1;2;3" soll "mehr" sein, als "100;200" - weil er nach der Anzahl der "enthaltenen Zahlen" sortieren will.

      (Was er wirklich möchte, ist natürlich vernünftig Normalisieren.)

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Doch, wie ich schrieb ist diese einfache Lösung hier völlig ausreichend, da alle Zahlen gleich lang sind. Danke!

        Chris

      2. Hi,

        "1;2;3" soll "mehr" sein, als "100;200" - weil er nach der Anzahl der "enthaltenen Zahlen" sortieren will.

        oh ja, da hast du recht, als ich den Titel des Postings gelesen hatte bin ich in den Grob-Parsing-Modus gesprungen und hab nur noch nach Schlüsselworten gescannt...

        Dann will er wirklich normalisieren...

        MfG
        Rouven

        --
        -------------------
        ie:| fl:| br:> va:| ls:& fo:) rl:( n4:{ ss:) de:] js:| ch:? mo:} zu:|