MySQL естественная сортировка данных
У меня есть данные в следующем формате:
AC-1234/12
AC-4321/12
ANA-4532/12
231
IHC-543/12
F-125/12
F-345/12
ds-234/12
Я хочу сделать естественную сортировку по этому вопросу в MySQL.
результат должен быть таким:
AC-1234/12
AC-4321/12
ANA-4532/12
F-125/12
F-345/12
ds-234/12
231
попробовал некоторые из естественных методов сортировки mysql, но у меня не получилось. Будем очень благодарны.
Я попробовал это:
select column
from table_name
Order By LENGTH(column), column
2 ответа
Вы можете использовать CASE
Выражение для этого так:
SELECT column
FROM Tablenametemp
ORDER BY
CASE
WHEN column REGEXP '^-?[0-9]+$' THEN 1 --If column is number
ELSE 0
END, column
Вот демонстрация SQL скрипки
У меня есть похожие проблемы, вы, ребята, проверите мои?
Заказ MySQL по алфавиту не работает
и моя sql скрипка