@cheremsha11

Как выполнить множественную сортировку таблицы с null — значениями?

Приветствую! Есть таблица, где сортировка производится по двум значениям

SELECT * FROM mytable 
ORDER BY photo DESC, stats DESC


значения статуса целочисленные, но в случае с photo, где или NULL или ссылка на фото, алгоритм сортирует не по значению есть/нет(NULL), а также пытаясь отсортировать по строке ссылки, сбивая следующую сортировку. То есть найденное значение статуса идет не по убыванию, а вразброс. Как исправить запрос?
  • Вопрос задан
  • 172 просмотра
Пригласить эксперта
Ответы на вопрос 1
@d-stream
Готовые решения - не подаю, но...
самое классическое и для более продвинутой логики - order by case when stats is null then <тут самое большое или самое маленькое значение> else stats end desc
ну или как в ряде диалектов sql задать это на уровне NULLS { FIRST | LAST}

или же всяческими хаками типа order by -stats asc или же просто обернуть в isnull
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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