Neo4j聚合和总和

前端之家收集整理的这篇文章主要介绍了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作为回报.

猜你在找的设计模式相关文章