使用Cypher查询查找多次出现的计数

时间:2016-08-29 21:01:38

标签: neo4j cypher

我返回了以下行:

 n.stype p.stype
   ["d"]    ["s","dr"]      
   ["d"]    ["s","dr"]      
   ["p"]    ["s","dr"]
   ["p"]    ["s","dr"]
   ["p"]    ["s","dr"]
   ["p"]    ["dr"]
   ["p"]    ["dr"]      
   ["d"]    ["s"]       
   ["d"]    ["dr"]  
   ["d"]    ["dr"]  

使用以下匹配查询:

MATCH (n:data)-[r: related]->(p: data) return n.stype, t.stype

如何修改此查询以返回每个不同行的出现次数:

n.stype p.stype    count
["d"]   ["s","dr"]  2   
["p"]   ["s","dr"]  3
["p"]   ["dr"]      2
["d"]   ["s"]       1   
["d"]   ["dr"]      2

1 个答案:

答案 0 :(得分:3)

您想要使用COUNT()函数。这引入了一个聚合(group by),其中返回的非聚合列充当分组键。

MATCH (n:data)-[r: related]->(p:data) 
RETURN n.stype, p.stype, COUNT(p.stype) as count