我不明白在Neo4j中做什么WITH子句.我阅读了The Neo4j Manual v2.2.2,但对于WITH子句并不十分清楚.没有很多例子.例如,我有以下图表,其中蓝色节点是足球队,黄色是他们的体育场.
我想找到两个或更多球队比赛的体育场馆.我发现查询并且它有效.
match (n:Team) -[r1:PLAYS]->(a:Stadium)
with a, count(*) as foaf
where foaf > 1
return a
Run Code Online (Sandbox Code Playgroud)
count(*)告诉我们匹配行的数量.但我不明白WITH子句的作用.
Mic*_*ger 11
WITH
允许您将数据从查询的一部分传递到下一部分.无论您在WITH中列出什么,都将在下一个查询部分中提供.
你可以像在RETURN中一样使用聚合,SKIP,LIMIT,ORDER BY和WITH.唯一的区别是您的表达式必须获得别名AS alias
才能在以后的查询部分中访问它们.
这意味着您可以链接查询部分,其中一个计算一些数据,下一个查询部分可以使用该计算数据.在你的情况下,GROUP BY and HAVING
它将在SQL中,但WITH比这更强大.
这是另一个例子
match (n:Team) -[r1:PLAYS]->(a:Stadium)
with distinct a
order by a.name limit 10
match (a)-[:IN_CITY]->(c:City)
return c.name
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4612 次 |
最近记录: |