neo4j 求和具有相同字段的行

问题描述

MATCH (b:Book)<-[ol:ORDERLINE]-()
UNWIND b.genre as genre
RETURN genre,ol.amount

给出这个结果

│"genre"   │"ol.amount"│
│"Genre-1" │1          
│"Genre-3" │1
│"Genre-1" │2  
│"Genre-10"│2          
│"Genre-1" │5          
│"Genre-10"│5  

我想要这个输出

│"genre"   │"ol.amount"
│"Genre-1" │8          
│"Genre-3" │1
│"Genre-10"│7   

   

解决方法

您可以使用 aggregation functions 来获得您需要的结果:

MATCH (b:Book)<-[ol:ORDERLINE]-()
UNWIND b.genre as genre
RETURN genre,sum(ol.amount) as `ol.amount`