MySQL: Natural sort

Hi
Gibt es in MySQL eine Möglichkeit eine suche natürlich zu sortieren?

Beispiel:

SELECT name from bla order by name

XX 1000
XX 200
XX 300
XX 400

ich möchte aber

XX 200
XX 300
XX 400

XX 1000

( ich weiss das man mit php natsort() natürlich sortieren kann - das hilft mir hier aber nicht weiter )

Hi,

Gibt es in MySQL eine Möglichkeit eine suche natürlich zu
sortieren?

Nur gebastelt.

In Deinem Beispiel geht es locker: da alle Namen mit dem fixen Anteil 'XX ’ anfangen, kannst Du es erreichen mit:
select name from tabelle order by (substring(name, 3) + 0);

(Die Addition zu 0 dient dazu, eine Zahl aus dem String zu machen und dadurchnumerisch zu sortieren).

Bei einem variablen Anteil wird es schwieriger, ist aber machbar: schau Dir die Stringfunktionen von MySql an, insbesondere INSTR(). http://www.mysql.com/doc/S/t/String_functions.html

Damit erreichst Du:
select name from tabelle order by (substring(name, instr(name, ’ ')) + 0);

Gruß

J.