首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Neo4j中限制结果

在Neo4j中限制结果
EN

Stack Overflow用户
提问于 2017-06-13 15:06:03
回答 2查看 740关注 0票数 1

我有导演过电影的人。电影是有类型的。我想得到一个导演的前5部电影,按上映日期排序,每部电影的前2种类型按名称排序。

代码语言:javascript
复制
MATCH(d {name: "Steven Spielberg"}) -- (f:Film)
WITH f
ORDER BY f.release_date DESC LIMIT 5
MATCH (f) -- (g:Genre)
RETURN f,g

这给了我史蒂芬·斯皮尔伯格的前5部电影,按release_date排序。现在,对于每部电影,我如何获得按名称排序的前2种类型?

EN

回答 2

Stack Overflow用户

发布于 2017-06-14 03:00:37

这里有一篇关于limiting match results per row的知识库文章,将会对你有所帮助。

简而言之,您可以使用APOC过程,或者需要收集()结果,然后获取集合中感兴趣的片段。

票数 2
EN

Stack Overflow用户

发布于 2017-06-13 16:21:05

您的问题似乎是How to limit a subquery in cypher?的副本。

然而,其中接受的自我回答只是对期望结果的近似值。在您的示例中,它应该类似于以下内容:

代码语言:javascript
复制
MATCH(d {name: "Steven Spielberg"}) -- (f:Film)
WITH f
MATCH (f) -- (g:Genre)
WITH f,g ORDER BY g.name
RETURN f,collect(g)[0..2] ORDER BY f.release_date DESC LIMIT 3
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44514500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档