微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Neo4j聚合和总和

如果我的问题很简单,我很抱歉,我是neo4j的NOOB.

我正在尝试编写一个密码查询,它将从[sum(mass_of * contains)的值中找到所有紫色节点的desc顺序,所有路径从紫色变为红色]

例:
图片中,对于所有红色路径,它将是[(mass_of * contains)],然后对所有红色路径求和.

我从这个查询开始,但我不知道从哪里开始.

MATCH p0=(p:Purple)-[m:mass_of]->(g:Green)-[c:contains]->(r:red {name: "something"})
WITH m,c.amount * m.amount as total_per_path
WITH total_per_path,reduce( total=0,node IN collect(m)| total + total_per_path) AS total_something
RETURN total_something as TOTAL,total_per_path as PER_TOTAL_PATH

谢谢你的帮助.

解决方法

这应该做到这一点

MATCH (p:Purple)-[m:mass_of]->(g:Green)-[c:contains]->(r:red {name: "something"})
RETURN p,SUM(c.amount * m.amount) AS total
ORDER BY total DESC

如果需要节点/关系,您还可以收集m,g或c作为回报.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐