Как вы сортируете поля, которые имеют номера в математическом порядке
В нашей базе данных присутствуют следующие пользователи.
create table users (id, name);
name [u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11, ...]
Если указанное выше поле отсортировано по возрастанию, результат будет следующим:
u1, u10, u11, u2, u3, u4 ...
Можно ли отсортировать это в порядке сверху (т.е. перечислить все однозначные, двузначные...)
2 ответа
Решение
Пытаться:
SELECT *
FROM users
ORDER BY CAST(SUBSTR(name FROM 2) AS UNSIGNED)
Вы можете попробовать это:
SELECT name
FROM users
ORDER BY LENGTH(name), name