Neo4j获得平均关系

wrrgggsh  于 2022-10-01  发布在  其他
关注(0)|答案(1)|浏览(195)

以下节点关系

(u:user{id:'some_id'})-[hpl:HAS_PRODUCT_LIST]->(pl:productList)<-[ipl:IN_PRODUCT_LIST]-(p:product)

我需要得到每个产品清单的平均产品。

我试过了

MATCH (u:user{id: 'some_id'})-[hpl: HAS_PRODUCT_LIST]->(pl:productList)<-[ipl:IN_PRODUCT_LIST]-(p:product)
WITH count(hpl) as hplc, count(p) as pc 
RETURN pc / hplc

我算错了。

r3i60tvu

r3i60tvu1#

让我们假设有三个产品清单,解放军,公共汽车和PLC。那么对于解放军,你有2个产品,PLB有3个产品,PLC有1个。你的查询会给你3/(2+3+1)=3/6=0.5,这是不正确的。平均产品数量为6/3或2。

因此,您的查询应该计算产品列表pl,而不是关系类型hpl。

WITH count(pl) as plc, count(p) as pc 
 RETURN pc / plc

相关问题