如何在neo4j cypher中写这个

时间:2013-06-06 18:21:29

标签: neo4j cypher

我想要所有不同的玩家(特定球队),他们参加的联赛没有重复的球员按联赛开始日期排序。我在下面的查询中返回所有玩家(特定团队)以及他们参与的联赛在开始日期之前排序,但是你可以看到有重复的。

START t=node(17) 
MATCH player-[:PLAYED_WITH_TEAM]->t-[:CONTESTED_IN]->league 
RETURN player.name, league.startDate, league.name 
ORDER BY league.startDate, player.name

上述查询的结果

enter image description here

这是我的模特

enter image description here

1 个答案:

答案 0 :(得分:2)

您的解决方案的关键是使用collect功能。由于您希望按开始日期排列联赛,因此您可能需要with将查询分为两部分:

START t=node(17) 
MATCH player-[:PLAYED_WITH_TEAM]->t-[:CONTESTED_IN]->league 
WITH player.name as playerName, league.startDate as startDate, league.name as leagueName 
ORDER BY startDate
RETURN player.name, collect(leagueName)

由于我没有可用的数据集,因此无法测试查询,因此请自行测试。