#sql #sorting #boolean
#sql #сортировка #логическое
Вопрос:
Допустим, у меня есть столбцы ‘a’ и ‘b’. Запись считается «готовой», если !a || b
. Как я могу отсортировать по этому условию готовности? Я действительно устал от SQL и не могу вспомнить, какой был бы лучший способ сделать это. Я предполагаю, что я мог бы добавить столбец с логическим результатом, а затем отсортировать по этому столбцу, но я пробовал поиск и, похоже, не могу найти то, что ищу.
Комментарии:
1. Какую СУБД вы используете? Некоторые поддерживают логические значения так, как другие этого не делают.
Ответ №1:
order by case when !a || b then 0 else 1 end
Ответ №2:
Вы можете поместить выражения в ORDER BY
предложение.
ORDER BY (!a || b) ASC
Ответ №3:
Итак, вы просто хотите, чтобы все строки, где !a или b сначала имеют значение true? Если да, то упорядочивайте по !a, а затем по b.