我通过以下cypher查询获得了两个数组
return p.home,p1.away
collect(distinct toInteger(p.score[0])) as value1,
collect(distinct toInteger(p1.score[1])) as value2
这里,value1 = [1,2,3,4]和value = [3,0,6,2] 我想要:
总和(1 + 2 + 3 + 4 + 3 + 0 + 6 + 2)为totalValue?
答案 0 :(得分:0)
distinct
是否必要?如果不是,您只需使用:
RETURN sum(toInteger(p.score[0]) + toInteger(p1.score[1])) as value2
如果必须先使用distinct
,则可以对数组中的元素求和,如下所示:
WITH
[1, 2, 3, 4] AS value1,
[3, 0, 6, 2] AS value2
RETURN
[i IN range(0, length(value1)-1) | value1[i] + value2[i]]
这使用range
函数来定义迭代数组的变量i
。
请注意,value1
和value2
不是最佳名称:数组应具有复数名称(例如values1
)。