Как вы сортируете поля, которые имеют номера в математическом порядке

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

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
Другие вопросы по тегам