ORDER BY null位置

时间:2016-06-22 16:45:12

标签: neo4j cypher

有没有办法指定将null值放在排序列表中的位置?

我有一个列表,我想按降序排序。我想要包含date=null的节点,就在列表的末尾。

在cypher中寻找类似的东西:

ORDER BY date DESC NULLS LAST

  

来自Neo4j:

     

对结果集进行排序时,NULL将始终位于结尾处   升序排序的结果集,以及降序时的结果   排序

     

http://neo4j.com/docs/developer-manual/current/#order-by-ordering-null

3 个答案:

答案 0 :(得分:2)

您可以使用以下内容: ORDER BY date IS NULL DESC

答案 1 :(得分:2)

您可以按COALESCE的结果排序。

例如,我们有以下节点:

MERGE (A1:Test {name:'a1'}) 
MERGE (A2:Test {name:'a2', date: 1})
MERGE (A3:Test {name:'a3', date: 2})
MERGE (A4:Test {name:'a4'})

我们可以按以下方式排序:

MATCH (A:Test)
RETURN A.name, 
       A.date 
ORDER BY 
       COALESCE(A.date, -1) DESC

答案 2 :(得分:0)

也许在coalesce()中使用ORDER BY

ORDER BY coalesce(val, 0)