我可以返回如下的聚合:
match (u:User)-[:LIKED]->(o:Offer) return count(u) as numLikes
...但我不能从中分配并保持预先计算速度:
match (u:User)-[:LIKED]->(o:Offer) set o.numLikes = count(u)
这可以不使用两个单独的陈述吗?
答案 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