Neo4j v2。聚合函数是否可用作赋值(设置)值?

时间:2013-12-03 13:27:12

标签: count neo4j set variable-assignment aggregate

我可以返回如下的聚合:

match (u:User)-[:LIKED]->(o:Offer) return count(u) as numLikes

...但我不能从中分配并保持预先计算速度:

match (u:User)-[:LIKED]->(o:Offer) set o.numLikes = count(u)

这可以不使用两个单独的陈述吗?

2 个答案:

答案 0 :(得分:2)

您需要使用WITH

MATCH (u:User)-[:LIKED]->(o:Offer) 
WITH o, count(u) AS c 
SET o.numLikes = c

答案 1 :(得分:0)

您必须先完成聚合才能使用聚合值,您可以使用WITH执行此操作,例如

MATCH (u:User)-[:LIKED]->(o:Offer)
WITH o, COUNT(u) as numLikes
SET o.numLikes = numLikes