Neo4j根据用户分数分配排名

时间:2014-08-09 16:09:40

标签: neo4j neo4jphp

我有student个带标记的节点。我需要显示排名,用户名和标记。但我在数据库中存储用户名,标记。我试过了

MATCH (s:student) WHERE s.marks > 70 RETURN s.marks as marks, s.uasername as name ORDER BY s.marks DESC

输出

    marks   |  name
-------------------------
    95         user1
    94         user2
    93         user3
    93         user4

所以这里我想要user3,user4的排名3。

    marks   |  name    | rank
--------------------------------
    95         user1      1
    94         user2      2
    93         user3      3
    93         user4      3

任何建议。

1 个答案:

答案 0 :(得分:0)

您可以按标记对它们进行分组,然后结果的顺序代表排名。

MATCH (s:student) WHERE s.marks > 70 
RETURN s.marks as marks, colleect(s.username) as names 
ORDER BY s.marks DESC