我正在寻找两个列的SQL脚本排序,其中order = pay和clientID by ID
应该显示所有记录,第一行应该是' pay'并按ID重置
select *
from clients
order by order = 'pay', clientID
答案 0 :(得分:0)
在MySQL中,布尔表达式在数字上下文中被视为整数 - 0表示false,1表示true。因此,如果按升序排序,则首先显示false。
您只需要desc
:
select *
from clients
order by (order = 'pay') desc, clientID;
注意:order
是一个非常糟糕的列名,因为它是一个保留字和SQL语言中的关键字。你应该把它命名为别的。否则,您在键入时必须转义名称 - 这只是浪费精力并使查阅查询变得更加困难。