2017-05-09 179 views
1

我正在尝试使用SUM函数并将其结果存储为关系的新属性。但它不起作用。 我使用的查询是:Neo4j聚合函数

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) 

我得到的错误是:

Invalid use of aggregating function sum(...) in this context (line 1, column 124 (offset: 123)) "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)"

请解释一下我做错了。

回答

3

试试:

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 

始终把聚集功能WITHRETURN

+0

谢谢......但是当我尝试它时,我得到这个错误:变量'r'未定义(第4行,第5列(偏移:135)) “SET r.Internalsum = count” – Ram

+0

嗨!编辑答案! :) 我忘了将'r'传递给'WITH'中的下一个上下文。 –

+0

谢谢,亲爱的!它的工作......你能解释为什么它不适用于以前的声明。 – Ram