2016-08-29 54 views
1

我返回以下行:查找使用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 
+0

你有一個變量「t」在那裏是不是在模式...這是爲了「p」? – InverseFalcon

回答

2

您將要使用COUNT()函數。這引入了聚合(group by),其中非聚合列返回作爲分組鍵。

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

它的工作原理!不知道是那麼簡單 –

+0

很高興幫助!當你有機會時請接受答案。在Neo4j開發者手冊中閱讀[聚合](http://neo4j.com/docs/developer-manual/current/cypher/#query-aggregation)也很有幫助。 – InverseFalcon