我在Neo4j图中查询路径。该路径包含两个以上的节点。我想计算两个节点子路径的不同出现次数。
因此在以下示例中,我想知道结果行的数量:
MATCH ()-->(n1:Label1)-->(n2:Label2)-->()
RETURN DISTINCT n1, n2
例如像
RETURN count(DISTINCT n1, n2)
(适用于单个节点:RETURN count(DISTINCT n1)
)
我该如何在Cypher中做到这一点?
答案 0 :(得分:1)
执行此操作以获取找到每种不同的n1
和n2
组合的次数:
MATCH ()-->(n1:Label1)-->(n2:Label2)-->()
RETURN n1, n2, COUNT(*);
Aggregating functions(例如COUNT
)在同一WITH
或RETURN
子句中使用非聚合项作为唯一的“分组键”(因此无需使用{{1} }。
[更新]
要获取不同的DISTINCT
和n1
组合的数量,您可以在这个有点古怪的查询中进行两次汇总:
n2