Ran*_*ash 8 mysql sql sql-order-by
我有一个问题,我遇到了一段有趣的代码.在MySQL语句中有类似的东西:
{...} ORDER BY whatever = 3 ASC,无论= 4 ASC,无论= 6 ASC {...}
这是否意味着它将以这种方式订购?:
thing | whatever
15 | 1
1 | 3
5 | 3
8 | 3
2 | 4
3 | 4
6 | 4
4 | 6
7 | 6
9 | 6
14 | 9
21 | 10
18 | 9
...
Run Code Online (Sandbox Code Playgroud)
它似乎只是排序等于3,4和6休息是无序的...
这是正确/支持的语法吗?
whatever=3
使用0
false和1
as作为布尔值求值true
.
因为它是按升序排序的,所以将首先订购不符合条件的那些.然后第二个排序列whatever=4
开始发挥作用,这whatever=4
将是该组中的最后一个,依此类推.
对于whatever
不在(3,4,6)
无顺序的那些被指定作为决胜局并且命令是任意的.
它是MySQL支持的语法,但不是标准或可移植的.