如何在两列上进行备用列排序?

时间:2014-07-30 07:42:44

标签: sorting neo4j cypher alternating

我知道如何按两列排序。但我想知道如何按neo4j中的备用列进行排序。

节点名称=产品

   value  |  version 
    1     |   2      
    4     |   1      
    2     |   1      
    4     |   1      
    2     |   1      
    3     |   2      

版本1和2有2个值。值可以是任何值。首先它会给出更高的版本1值,然后它会给出版本2的更高值,然后它会给出版本1的第二个更高的值,然后它将给出版本2的第二个更高的值,依此类推。

   value  |  version 
    4     |   1      
    3     |   2      
    4     |   1      
    1     |   2      
    2     |   1      
    1     |   1      

我不知道通过密码查询逻辑完成的这种类型的排序。我也没有在mysql中完成这种类型的逻辑。任何人都可以给我一些关于ne4j cypher查询的线索。

更新:

Match (p:Product) 
RETURN p.value as value, p.version as version
ORDER BY version ASC, value DESC 

此查询首先按版本排序,然后按值排序。我不想要它。 我想要替代排序。

1 个答案:

答案 0 :(得分:1)

unwind[1,2,3] AS value unwind[1,2] AS version

RETURN value, version
ORDER BY value DESC , version ASC

value   version
3   1
3   2
2   1
2   2
1   1
1   2