Это должно отсортировать буквенно-цифровое поле, например: 1 / Только число, order by 1,2,3,4,5,6,7,8,9,10,11
и т. Д ... 2 / Затем поле с текстом, например: 1foo, 2bar, aaa11aa, aaa22aa, b5452
и т. Д.
SELECT MyField
FROM MyTable
order by
IF( MyField REGEXP '^-?[0-9]+$' = 0,
9999999999 ,
CAST(MyField AS DECIMAL)
), MyField
Запрос проверки, еслиданные - это число, если не указать 9999999999, то сначала укажите порядок в этом столбце, затем укажите данные с текстом
Удачи!