无法编写查询以设置导演的平均评级。
另外,在这种情况下,无法弄清楚如何使用FOREACH
来避免Invalid use of aggregating function
,Type mismatch: expected Collection<T> but was Node
错误。
导演的平均等级=平均(所有电影的等级)
示例查询
MATCH (d:Director)
WITH d
MATCH (d)-[:Directed]->(m:Movie)
SET d.avg_rating = AVG(toFloat(COLLECT(m.rating)))
请帮忙。
答案 0 :(得分:2)
toFloat将直接应用于m.rating,AVG不需要COLLECT:
MATCH (d:Director)-[:Directed]->(m:Movie)
SET d.avg_rating = AVG(toFloat(m.rating))
(我还放弃了多余的匹配d:Director,但这与你的错误无关)
答案 1 :(得分:2)
您可以直接使用
MATCH (d:Director)-[:Directed]->(m:Movie)
SET d.avg_rating = AVG(toFloat(m.rating))