sql查询需要一个特定的顺序

时间:2018-02-02 08:42:00

标签: sql sorting sql-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按键排序asc,值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

结果看起来很有希望,但仍然不是我想要的。

但是在键= 0之后,订单被更改为DESC。

甚至可以实现这种方式吗?

提前致谢!

祝你好运

1 个答案:

答案 0 :(得分:0)

首先,首先对key = 0值进行排序。然后对关键值desc进行排序。等

int *thePointer = 0x000000; 
//int for 32bit os.

while(thePointer! = 0xFFFFFF){

    std::cout << *thePointer << ' --- ' << thePointer << endl;
    thePointer++;

}