Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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中的ORDER BY?_Mysql - Fatal编程技术网

如何做一个;“哑巴”;MySQL中的ORDER BY?

如何做一个;“哑巴”;MySQL中的ORDER BY?,mysql,Mysql,我有这样一个问题: SELECT * FROM blah1 WHERE blah2 ORDERBY %s 其中,我用一个(已消毒!)字符串替换%s。问题是,字符串可能为空。如果字符串为空,我如何在其中插入一个no op,而不是更改查询的其余部分?我认为它应该适合您:按NULL排序一个固定的字符串或数字(1,0,'noop')@anirudh4444:我可以,但我不喜欢字符串操作,这很难看。orderby1实际上会在一些sql实现中按第一列进行排序。很高兴知道,请注意,有没有关于哪一列的提示,例

我有这样一个问题:

SELECT * FROM blah1 WHERE blah2 ORDERBY %s

其中,我用一个(已消毒!)字符串替换
%s
。问题是,字符串可能为空。如果字符串为空,我如何在其中插入一个no op,而不是更改查询的其余部分?

我认为它应该适合您:
按NULL排序
一个固定的字符串或数字(
1
0
'noop'
)@anirudh4444:我可以,但我不喜欢字符串操作,这很难看。
orderby1
实际上会在一些sql实现中按第一列进行排序。很高兴知道,请注意,有没有关于哪一列的提示,例如?但在MySQL中不会。例如,在Postgres中,这将起作用:
从unnnest(数组[3,1,2])中选择一个顺序为1(返回1、2、3)。