Mysql按两列排序,Val1 = x,Val2

时间:2016-04-16 14:12:47

标签: mysql sql

我正在寻找两个列的SQL脚本排序,其中order = pay和clientID by ID

应该显示所有记录,第一行应该是' pay'并按ID重置

select * 
from clients
order by order = 'pay', clientID

1 个答案:

答案 0 :(得分:0)

在MySQL中,布尔表达式在数字上下文中被视为整数 - 0表示false,1表示true。因此,如果按升序排序,则首先显示false。

您只需要desc

select *
from clients
order by (order = 'pay') desc, clientID;

注意:order是一个非常糟糕的列名,因为它是一个保留字和SQL语言中的关键字。你应该把它命名为别的。否则,您在键入时必须转义名称 - 这只是浪费精力并使查阅查询变得更加困难。