2010-11-12 6 views
1

Следующие пользователи присутствуют в нашей базе данных ..Как сортировать поля, которые имеют номера в математическом порядке

create table users (id, name); 

name [u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11, ...] 

Если указанное поле сортируется в восходящем моды, выход следующим образом ..

u1, u10, u11, u2, u3, u4 ... 

можно ли сортировать это в порядке в верхней части (т.е. список всех однозначных цифр, двойные цифры ...)

+0

ВПВ - http://stackoverflow.com/questions/153633/natural-sort-in-mysql – ajreal

ответ

2

Try:

SELECT * 
FROM users 
ORDER BY CAST(SUBSTR(name FROM 2) AS UNSIGNED) 
2

Вы можете попробовать это:

SELECT name 
FROM users 
ORDER BY LENGTH(name), name