首页 > 解决方案 > Neo4j:“WITH DISTINCT x RETURN count (x)”和“RETURN count (distinct x)”之间的语义差异?

问题描述

我有一个 Neo4j 数据库,我试图通过任何关系计算长度最多为 10 的路径可到达的(不同的)节点。如果您能抽出时间,我的问题很简单,但它非常具体,我不确定是否可以在文档中找到该主题。我最初的方法是这样的: MATCH path = (a)-[*1..10]-(b) WHERE a.name="blabla" RETURN count(distinct b); 但有人告诉我应该 MATCH path = (a)-[*1..10]-(b) WHERE a.name="blabla" WITH distinct b RETURN count(b);改用。有什么特别的理由使用其中一个吗?乍一看,两者似乎是等效的,并且似乎产生了相同的结果,但我想知道它们是否真的如此。

谢谢你的时间!

标签: databaseneo4jcypher

解决方案


推荐阅读