当前位置 : 主页 > 手机开发 > 其它 >

Neo4j聚合和总和

来源:互联网 收集:自由互联 发布时间:2021-06-22
如果我的问题很简单,我很抱歉,我是neo4j的NOOB. 我正在尝试编写一个密码查询,它将从[sum(mass_of * contains)的值中找到所有紫色节点的desc顺序,所有路径从紫色变为红色] 例: 在图片中,对于
如果我的问题很简单,我很抱歉,我是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作为回报.

网友评论