Финкция natsort() в запросе MySQL

ChesterOne

Guest
Финкция natsort() в запросе MySQL

Наверное всем известна полезная функция
PHP:
natsort();
Она производит сортировку не в машинном стиле
image1
image10
image11
image2
image20
А в удобном для чтения виде
image1
image2
...

Вопрос: можно ли вытащить запросом данные из мускула так, чтобы они были отсортированы не как в первом примере, а как во втором? Что то вроде NATURAL ORDER BY.

Спасибо
 

Gas

может по одной?
Если image у тебя стандартный префикс, то
[SQL]
SELECT * FROM table ORDER BY MID(field,6)+0;
[/SQL]
 

ChesterOne

Guest
К сожалению, нет. Я просто привел такой пример. На самом деле строки все разные и нет в них закономерности.
Если быть точнее, то в них храняца разные характеристики компьютерных комплектующих.
Да я знаю, что на форуме подобные темы уже существуют, но не в одной из них тема не была раскрыта. Не хотелось бы делать сортировку средствамы ПХП. :(
 

Gas

может по одной?
В mysql есть куча встроенных ф-ция для работы со строками + начиная с какой-то 4-ой версии появились CAST и CONVERT.

Если у тебя цифры в конце стоят, то навскидку
[SQL]
SELECT * FROM tbl ORDER BY REVERSE(REVERSE(field)+0)+0;
[/SQL]
Но не думаю что это самый лучший вариант :).
 
Сверху