2011-06-03 43 views
0

说我有列'a'和'b'。如果!a || b记录被视为“准备就绪”。我怎样才能通过这个准备好的条件来分类我真的生锈与SQL,我不记得什么是最好的方式来做到这一点。我的猜测是我可以添加一个带有布尔结果的列,然后按该列进行排序,但我尝试过搜索,似乎无法找到我要找的内容。我怎样才能根据一些布尔逻辑ORDER BY?

+3

你正在使用哪些DBMS?有些人以其他人不支持的方式支持布尔人。 – ErikE 2011-06-03 22:34:49

回答

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

+1,用于'CASE'语句的更广泛支持。 – 2011-06-04 01:16:30

2

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

ORDER BY (!a || b) ASC 
0

所以你只是想要所有的行在哪里!a或b是真的第一?如果是这样,按!a然后按b。