apoc.agg.last
语法 |
|
||
描述 |
返回给定集合中的最后一个值。 |
||
参数 |
名称 |
类型 |
描述 |
|
|
要聚合的值。 |
|
返回 |
|
||
使用示例
本节中的示例基于以下示例图谱
CREATE (Keanu:Person {name:'Keanu Reeves', born:1964})
CREATE (TomH:Person {name:'Tom Hanks', born:1956})
CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'})
CREATE (TheMatrixReloaded:Movie {title:'The Matrix Reloaded', released:2003, tagline:'Free your mind'})
CREATE (TheMatrixRevolutions:Movie {title:'The Matrix Revolutions', released:2003, tagline:'Everything that has a beginning has an end'})
CREATE (TheMatrixResurrections:Movie {title:'The Matrix Resurrections', released:2021, tagline:'The choice is yours. Return to the source. Re-enter.'})
CREATE (YouveGotMail:Movie {title:"You've Got Mail", released:1998, tagline:'At odds in life... in love on-line.'})
CREATE (SleeplessInSeattle:Movie {title:'Sleepless in Seattle', released:1993, tagline:'What if someone you never met, someone you never saw, someone you never knew was the only someone for you?'})
CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix)
CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixReloaded)
CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixRevolutions)
CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixResurrections)
CREATE (TomH)-[:ACTED_IN {roles:['Joe Fox']}]->(YouveGotMail)
CREATE (TomH)-[:ACTED_IN {roles:['Sam Baldwin']}]->(SleeplessInSeattle);
以下示例使用 APOC 和 Cypher 返回上述演员参演的最新电影
apoc.agg.last
MATCH (p:Person)-[:ACTED_IN]->(movie)
WITH p, movie
ORDER BY p, movie.released
RETURN p.name AS person, apoc.agg.last(movie) AS latestMovie;
使用 Cypher 的 CALL 子查询
MATCH (p:Person)
CALL (p) {
MATCH (p)-[:ACTED_IN]->(movie)
RETURN movie ORDER BY movie.released DESC LIMIT 1
}
RETURN p.name AS person, movie AS earliestMovie ORDER BY p
| person | latestMovie |
|---|---|
"Keanu Reeves" |
(:Movie { "title": "黑客帝国:矩阵重启", "tagline": "选择权在你。回到源头。再次进入。", "released": 2021 }) |
"Tom Hanks" |
(:Movie { "title": "电子情书", "tagline": "生活中格格不入……网上却情投意合。", "released": 1998}) |