sql 查询需要特定的顺序
sql query needs a specific order by
我的查询没有任何顺序将导致:
owner parent target key value operator childOP
----- ------ ------ --- ----- -------- -------
267582 6 19 0 0 4 -1
267582 6 19 0 267582 32 4
267582 6 19 0 267583 32 4
267582 6 19 17 9 2 4
267582 6 19 20 8 2 4
267582 6 19 54 0 2 4
267582 6 19 60 5 0 4
267582 6 19 389 32 22 -1
但是我需要订购这个所以我得到如下结果:
owner parent target key value operator childOP
----- ------ ------ --- ----- -------- -------
267582 6 19 0 267583 32 4
267582 6 19 0 267582 32 4
267582 6 19 0 0 4 -1
267582 6 19 389 32 22 -1
267582 6 19 60 5 0 4
267582 6 19 54 0 2 4
267582 6 19 20 8 2 4
267582 6 19 17 9 2 4
我已经尝试过这个查询:.... WHERE owner = 267582 order by key asc, value desc
owner parent target key value operator childOP
----- ------ ------ --- ----- -------- -------
267582 6 19 0 267583 32 4
267582 6 19 0 267582 32 4
267582 6 19 0 0 4 -1
267582 6 19 17 9 2 4
267582 6 19 20 8 2 4
267582 6 19 54 0 2 4
267582 6 19 60 5 0 4
267582 6 19 389 32 22 -1
结果看起来很有希望,但仍然不是我想要的。
但在 keys = 0 之后,顺序更改为 DESC。
甚至可以通过这种方式实现吗?
提前致谢!
此致
首先对 key = 0 值进行排序。然后对键值 desc 进行排序。等等
order by case when key = 0 then 0 else 1 end, key desc, value desc
我的查询没有任何顺序将导致:
owner parent target key value operator childOP
----- ------ ------ --- ----- -------- -------
267582 6 19 0 0 4 -1
267582 6 19 0 267582 32 4
267582 6 19 0 267583 32 4
267582 6 19 17 9 2 4
267582 6 19 20 8 2 4
267582 6 19 54 0 2 4
267582 6 19 60 5 0 4
267582 6 19 389 32 22 -1
但是我需要订购这个所以我得到如下结果:
owner parent target key value operator childOP
----- ------ ------ --- ----- -------- -------
267582 6 19 0 267583 32 4
267582 6 19 0 267582 32 4
267582 6 19 0 0 4 -1
267582 6 19 389 32 22 -1
267582 6 19 60 5 0 4
267582 6 19 54 0 2 4
267582 6 19 20 8 2 4
267582 6 19 17 9 2 4
我已经尝试过这个查询:.... WHERE owner = 267582 order by key asc, value desc
owner parent target key value operator childOP
----- ------ ------ --- ----- -------- -------
267582 6 19 0 267583 32 4
267582 6 19 0 267582 32 4
267582 6 19 0 0 4 -1
267582 6 19 17 9 2 4
267582 6 19 20 8 2 4
267582 6 19 54 0 2 4
267582 6 19 60 5 0 4
267582 6 19 389 32 22 -1
结果看起来很有希望,但仍然不是我想要的。
但在 keys = 0 之后,顺序更改为 DESC。
甚至可以通过这种方式实现吗?
提前致谢!
此致
首先对 key = 0 值进行排序。然后对键值 desc 进行排序。等等
order by case when key = 0 then 0 else 1 end, key desc, value desc