Neo4j:Cypher按连接数组的最大值排序

时间:2018-05-23 09:09:34

标签: neo4j cypher

所以,我有一个完整的问题:

MATCH result=(({uuid: "056d7d6c-4eb1-11e8-a2d0-3035adbe14a4"})-[r:mailed]-(p)) RETURN result LIMIT 5

它应该获取与给定节点邮寄连接的所有节点。现在,我需要对它们进行排序。问题是时间戳在包含所有消息的时间戳的数组中。我想按时间戳数组中的最大值对结果进行排序。

有可能吗?那个查询怎么样?我试过了ORDER BY max(r.timestamp),但这似乎不起作用。

1 个答案:

答案 0 :(得分:0)

您可以使用WITHmax(r.timestamp)值对路径进行分组,然后订购并返回所需的值:

MATCH path=({uuid: "056d7d6c-4eb1-11e8-a2d0-3035adbe14a4"})-[r:mailed]->(p) 
WITH path, max(r.timestamp) as maxtimestamp
order by maxtimestamp
RETURN path LIMIT 5