neo4j返回具有最大属性值的1个节点

时间:2015-09-02 04:36:02

标签: neo4j cypher

我有一个根"公司"节点,它将有几个相关的"报告"节点,每个节点都有一个时间戳属性(毫秒)。

我希望得到最新的"公司的报告节点,基本上转换为"得到1个节点,其中max(x)"但我不知道这是否可能在密码

理论上,我可以做以下

match (c:company)->(r:report) WHERE r.timestamp order by DESC LIMIT 1

但我希望能够获得其他类型的"最新的"节点。最终我想得到这种结果:

(company)-->(Report [newest version])
         -->(twitterCountObject [newest version])
         -->(employeeCountObject [newest version])

如何在密码中完成此操作?

1 个答案:

答案 0 :(得分:3)

你很亲密。这样的事情应该有效:

MATCH (c:Company {name: "ABC"})-->(r:Report),
      (c)-->(t:TwitterCount),
      (c)-->(e:EmployeeCount)
RETURN c, r, t, e
ORDER BY r.timestamp DESC, t.timestamp DESC, e.timestamp DESC
LIMIT 1;