Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql按两列排序,Val1=x,Val2_Mysql_Sql - Fatal编程技术网

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

Mysql按两列排序,Val1=x,Val2,mysql,sql,Mysql,Sql,我正在寻找按两列排序的SQL脚本,其中order=pay和clientID-by-ID 应显示所有记录,第一行应为“付款”和按ID重置 select * from clients order by order = 'pay', clientID 在MySQL中,布尔表达式在数值上下文中被视为整数——0表示false,1表示true。所以,如果按升序排序,false首先显示 您只需要desc: select * from clients order by (order = 'pay') des

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

应显示所有记录,第一行应为“付款”和按ID重置

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

在MySQL中,布尔表达式在数值上下文中被视为整数——0表示false,1表示true。所以,如果按升序排序,false首先显示

您只需要
desc

select *
from clients
order by (order = 'pay') desc, clientID;
注意:
order
对于列来说是一个非常糟糕的名称,因为它是SQL语言中的保留字和关键字。你应该给它起个别的名字。否则,在键入名称时必须对其进行转义,这只是一种浪费,并且使读取查询变得有点困难