Как вы сортируете поля, которые имеют номера в математическом порядке - PullRequest
1 голос
/ 12 ноября 2010

В нашей базе данных присутствуют следующие пользователи.

create table users (id, name);

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

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

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

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

Ответы [ 2 ]

2 голосов
/ 12 ноября 2010

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

SELECT name
FROM users
ORDER BY LENGTH(name), name
2 голосов
/ 12 ноября 2010

Попробуйте:

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