一个mysql命令按用法?

时间:2017-12-31 23:16:02

标签: mysql

order by `order`=0,`order`

它的意义是什么? 这很不寻常,通常我们使用

order by `order` asc

,不是吗?

2 个答案:

答案 0 :(得分:3)

这将导致order等于零的所有行首先排序,然后按照数字顺序排列order非零的行。如果订单总是大于或等于零,则这与按顺序排序相同,但是,如果order可以为负数,则会产生影响。

考虑以下数据:

Order | ID
======|===
0     | A
10    | B
5     | C
-5    | D

order排序会给您:

Order | ID
======|===
-5    | D
0     | A
5     | C
10    | B

order=0,order排序会给您:

Order | ID
======|===
0     | A
-5    | D
5     | C
10    | B

请注意,A的ID行位于开头,之前是第二行。

答案 1 :(得分:1)

按两个值排序。

第一个值(排序方式)为order = 0,如果1order则为0,否则为0=是正常的比较运算符。)

如果两行的值相同,则它将按order字段本身排序。