MySQL: sortieren nach Länge der Zeichen in Feld?
Chris
- datenbank
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
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
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
Doch, wie ich schrieb ist diese einfache Lösung hier völlig ausreichend, da alle Zahlen gleich lang sind. Danke!
Chris
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