我在Neo4J图表上运行此查询:
match (person:Person)-[r:KNOWS]->(friend:Person)
return avg(r.duration)
KNOWS 关系的持续时间属性是一个双精度值,始终填充且始终为正。
我的问题是此查询返回负值。 我用这个查询验证了这一点:
match (person:Person)-[r:KNOWS]->(friend:Person)
where has(r.duration) and r.duration > 0
return avg(r.duration)
它也会返回负值。
有关这种行为背后原因的任何想法?
答案 0 :(得分:0)
感谢控制台,确实int max值是溢出的。
我不能说你的用例最好的方法是什么,我需要进一步调查,但与此同时,如果你将得分转换为浮动值,那么它们是正面的:
MATCH (person:Person)-[r:KNOWS]->(friend:Person)
WITH toFloat(r.score) AS score
RETURN sum(score), avg(score)
<强>更新强>
很明显,上述解决方案的价值是四舍五入的,所以暂时忽略它