【发布时间】:2022-11-01 14:39:07
【问题描述】:
我有一个 neo4j 数据库,其中有以下关系:
(:journal)<-[:BELONGS_TO_JOURNAL]-(:article)
(:person)-[:WROTE]->(article)
我想执行一个查询,以查找属于拥有最多文章的期刊的文章的作者,其中那些文章的文章数量最多。
以下查询给出了文章数量最多的期刊:
match (j:journal)-[:BELONGS_TO_JOURNAL]-()
返回 j.name, 计数(*)作为文章计数 按文章排序Count desc limit 1
我想到了另一个查询来找到请求:
match (j:journal)-[:BELONGS_TO_JOURNAL]-()
with j as j, count(*) as articlesCount
match (j)<-[:BELONGS_TO_JOURNAL]-(a:article)<-[:WROTE]-(p:person)
return p, count(*) as authorsCount order by articlesCount, authorsCount limit 1
但它会带来问题,因为articlesCount 不能在返回中使用,因为使用了count()。
有什么建议么?
【问题讨论】:
标签: neo4j cypher aggregation