2017-05-09 12 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 

は必ずWITHまたはRETURNで集計関数を置きます。

+0

ありがとうございます。しかし、このエラーが発生しました:変数 'r'が定義されていません(行4、列5(オフセット:135)) " SET r.Internalsum = count " – Ram

+0

こんにちは!答えを編集しました! :) 'WITH'の次のコンテキストに' r'を渡すのを忘れました。 –

+0

ありがとうございました!それは働きました...なぜそれが以前の声明でうまくいかなかったのか説明できますか? – Ram