我如何根据一些布尔逻辑进行ORDER BY?

时间:2011-06-03 22:25:10

标签: sql sorting boolean

说我有列'a'和'b'。如果!a || b,则记录被视为“就绪”。我怎样才能按照这种准备状态排序?我对SQL真的很生气,我不记得最好的方法是做什么。我的猜测是,我可以添加一个包含布尔结果的列,然后按该列排序,但我已经尝试搜索,似乎无法找到我正在寻找的内容。

3 个答案:

答案 0 :(得分:7)

order by case when !a || b then 0 else 1 end

答案 1 :(得分:2)

您可以将表达式放在ORDER BY子句中。

ORDER BY (!a || b) ASC

答案 2 :(得分:0)

所以你只想要所有的行!a或b首先是真的吗?如果是这样,请按顺序排序!a然后按b。