Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从neo4j路径获取提取值的总和或总和?我能';不要只使用直接求和函数_Neo4j_Cypher_Graph Databases - Fatal编程技术网

如何从neo4j路径获取提取值的总和或总和?我能';不要只使用直接求和函数

如何从neo4j路径获取提取值的总和或总和?我能';不要只使用直接求和函数,neo4j,cypher,graph-databases,Neo4j,Cypher,Graph Databases,---求和(提取(节点中的b(p)| b.userReputation))作为UserRep--- 这就是我想要的价值,谢谢 sum是一个聚合函数,因此它将作业放在结果集上,而不是数组上。 您要做的是reduce 你能试试这个:reduce(s=0,x在extract中(b在nodes中(p)| coalesce(b.userReputation,0))| s+x)作为UserRep Cheers对集合中的项目执行求和的另一种方法是使用UNWIND子句。例如,您可以将原始的RETURN子句替换为

---求和(提取(节点中的b(p)| b.userReputation))作为UserRep---


这就是我想要的价值,谢谢

sum
是一个聚合函数,因此它将作业放在结果集上,而不是数组上。 您要做的是
reduce

你能试试这个:
reduce(s=0,x在extract中(b在nodes中(p)| coalesce(b.userReputation,0))| s+x)作为UserRep


Cheers

对集合中的项目执行求和的另一种方法是使用
UNWIND
子句。例如,您可以将原始的
RETURN
子句替换为:

UNWIND NODES(p) AS nd
RETURN p, SUM(nd.userReputation) AS userRep;

注意:上面的
RETURN
子句也返回
p
,因此函数
SUM
在适当的“键值”上聚合。无论如何,您可能希望返回
p
,以便知道每个求和的路径。

这将起作用,但查询计划与我的不同。由于展开+聚合,因此聚合的性能不如投影。但它更具可读性。@logisma,我不知道你对我的问题的解决方案是否不再有效了!你不能再检查一遍吗?