@slavabars
Веб программист

Как отсортировать таким образом столбец MYSQL?

Есть таблицы people вида
name | number
иван | 125
петр | 250
олег | 105
настя | 303
федр | 0
саня | 125
влад | 0
руслан | 401
максим | 236
оля | 148
оксана | 0

нужно отсортировать ее таким образом, что бы сортировка шла сначала по первым цифрам, потом по двум последним цифрам от меншего к большему, а с 0 были в самом конце.
Должно получиться так

name | number
олег | 105
иван | 125
саня | 125
оля | 148
максим | 236
петр | 250
настя | 303
руслан | 401
федр | 0
влад | 0
оксана | 0

и вот такая сортировка - только по последним 2м цифрам, нули в конце

name | number
олег | 105
руслан | 401
настя | 303
иван | 125
саня | 125
оля | 148
максим | 236
петр | 250
федр | 0
влад | 0
оксана | 0

собственно нужно составить mysql запрос

нули вниз так опустил ORDER BY case number when 0 then 2 else 1 end
вот сделал один из вариантов
order by case number when 0 then 2 else 1 end, substring(exp, 1, 2) asc
  • Вопрос задан
  • 137 просмотров
Пригласить эксперта
Ответы на вопрос 1
modestguy
@modestguy
full-stack web developer
order by substring(number, 1, 2), IFNULL(number, 99999999)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы