按表达顺序排列

时间:2015-02-20 00:38:49

标签: mysql sql

我如何做以下事项:

select * from table order by istrue(field > 90)

4 个答案:

答案 0 :(得分:1)

istrue()做什么?我不承认它是一个MySQL函数。

也许你的意图是订购事物,以便field的值大于90。如果是这样的话:

order by (field > 90) desc

在数值上下文中,MySQL将布尔表达式视为“1”为真的整数。因此desc首先得到真值。

答案 1 :(得分:1)

使用Case声明;

select * from table 
         order by 
               case when field > 90 then ordercolumn end 

答案 2 :(得分:1)

也许你想要实现的是:

SELECT * FROM table WHERE field > 90 ORDER BY field

答案 3 :(得分:1)

我认为这就是你想要的:

SELECT * FROM table ORDER BY (field > 90) DESC

或者也许:

SELECT * FROM table WHERE field > 90 ORDER BY field DESC