@Erimax

Как сделать такую сортировку?

Всем привет.

Есть таблица sqlfiddle.com/#!9/af6428
Нужно сортировать так, если orderNum указан вводит их как есть, если orderNum (null) не указан, тогда сортировать по имени.
То есть на выходе должно быть
test 4 (orderNum = 17)
test 6 (orderNum = 35)
test 1 (orderNum = 22)
test 5 (orderNum = 24)

Имена отсортированные orderNum (null)
test 2
test 3

Как сделать такую сортировку?
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
rozhnev
@rozhnev Куратор тега SQL
Fullstack programmer, DBA, медленно, дорого
Попробуйте так (использовать COALESCE):
SELECT * FROM `category`
  ORDER BY COALESCE(`orderNum`, `name`)


или так:

SELECT * FROM `category`
  ORDER BY `orderNum` IS NULL, `name`;

Test SQL online
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы