我正试图让那些喜欢特定游戏的前十名用户使用1到25的game_id。 这些游戏与名为rating_val = 1到10的用户称为评级有关系。
如何获得包含所有用户组的25行,每个用户的rating_val为1到10个每个游戏类别的desc顺序。
基本上:
25个游戏类别,ID为1到25
games_like是与1-10的rating_val的关系
用户是具有id,名称
此查询无效:
$type
答案 0 :(得分:0)
我有点困惑,因为您的描述似乎只是说您想要在用户和游戏之间加入,但您的查询是针对一个游戏匹配两个用户。另外,你的游戏节点有标签吗?
根据您的描述,这是我要写的查询:
MATCH (game)<-[rel:games_like]-(user:user)
WITH game, user ORDER BY rel.rating_val DESC
RETURN game, collect(user)[0..10]
返回每个游戏的顶级用户。如果你想限制它,你可以这样做:
MATCH (game)<-[rel:games_like]-(user:user)
WHERE
1 <= game.game_id AND game.game_id <= 25 AND
1 <= rel.rating_val AND rel.rating_val <= 10
WITH game, user ORDER BY rel.rating_val DESC
RETURN game, collect(user)[0..10]