Neo4j聚合函数
我试图使用Neo4j聚合函数,neo4j,cypher,Neo4j,Cypher,我试图使用SUM函数并将其结果存储为关系的新属性。但它不起作用。 我使用的查询是: MATCH (a:Employee)-[r:CorporateMessage]->(b) WHERE a.Eid = 6001 AND b.Eid IN [6002,6003,6004,6005,5001] SET r.Internalsum = SUM(r.Count) 我得到的错误是: 在此上下文(第1行第124列(偏移量:123))中无效使用聚合函数sum(…)“匹配(a:Employee)-[r:
SUM
函数并将其结果存储为关系的新属性。但它不起作用。
我使用的查询是:
MATCH (a:Employee)-[r:CorporateMessage]->(b)
WHERE a.Eid = 6001 AND b.Eid IN [6002,6003,6004,6005,5001]
SET r.Internalsum = SUM(r.Count)
我得到的错误是:
在此上下文(第1行第124列(偏移量:123))中无效使用聚合函数sum(…)“匹配(a:Employee)-[r:CorporateMessage]->(b),其中[60026003600460055001]中的a.Eid=6001和b.Eid设置r.Internalsum=sum(r.Count)”
请解释我做错了什么。试试看:
MATCH (a:Employee)-[r:CorporateMessage]->(b)
WHERE a.Eid = 6001 AND b.Eid IN [6002,6003,6004,6005,5001]
WITH r, SUM(r.count) as count
SET r.Internalsum = count
始终使用
或返回输入 谢谢…但是当我尝试它时,我得到了这个错误:变量r
未定义(第4行第5列(偏移量:135))“SET r.Internalsum=count”嗨!编辑答案!:)我忘了用
将r
传递到中的下一个上下文。亲爱的,谢谢!。。它起作用了……你能解释一下为什么它不适用于上一个语句吗?
的用于链接查询,将部分从上一个查询传递到下一个查询。在前面的语句中,我忘记将r
变量添加到WITH
子句中。因此,r
在下一个上下文中没有定义(在您的案例中,SET
的上下文)。清楚了吗?你可以用这个。