Hi Thorsten,
Die Werte dieses Feldes können eine Zahl enthalten.
Beispiel: Profil2, Profil22.....
[...] daß die Daten in Reihenfolge der enthalten Zahlen [...]
besitzt der String vor den Zahlen eine konstante Länge? Dann könntest Du mit SUBSTRING() die Zahl herausoperieren[1]. Vor dem Ordnen mußt Du noch dafür sorgen, daß die ORDER-BY-Klausel auch tatsächlich Zahlen ordnet - das Ergebnis von SUBSTRING() ist ein String. Falls das Ganze auch in älteren MySQL-Varianten laufen soll, scheidet die CAST()-Funktion aus; ich wählte zur Umwandlung eine möglichst performante mathematische Funktion, vielleicht ABS() - sofern Deine Zahlen nicht negativ sein können...
SELECT blahx,ABS(SUBSTRING(blahy,n)) AS ordint
FROM blah
ORDER BY ordint;
Ein Bauchgefühl läßt mich die Funktionen nicht in die ORDER-BY-Klausel einfügen (was vermutlich auch fehlerfrei läuft); für mich gibt ORDER BY dem SELECT an, nach welcher _Ergebnisspalte_ zu sortieren ist. Als ich noch jung war, konnten die existierenden SQL-Dialekte auch keine Ausdrücke in dieser Klausel verarbeiten.
Ganz sicher stimme ich aber lulu weiter unten zu, daß Du mit dieser Tabellenstruktur gegen fundamentale Regeln des DB-Designs verstörst und eine Umstrukturierung dringen angeraten ist - von der mangelnden Eleganz und schlechten Performance einer Lösung wie o.a. einmal ganz zu schweigen!
hth Robert
[1] Andernfalls ließe sich möglicherweise ein höchst komplexer Suchausdruck formulieren - völliger Schwachsinn, dann ist wohl ein sofortiges Umstrukturieren angezeigt!