如何过滤结果,然后在Neo4j Cypher中对它们进行计数?

时间:2013-08-09 17:22:31

标签: neo4j cypher

我需要四个不同的计数:结果总数,然后是三个类别的结果数。例如,如果我有四个学生,我希望他们按年级排序,我想:(1)学生总数,(2)1年级学生总数,(3)年级学生总数2,(4)3年级的学生总数。如果我有学生节点,其中s.grade = 1,s.grade = 1,s.grade = 2,s.grade = 3,有没有办法得到一个只返回我想要的结果而没有正确的其他信息?

1 个答案:

答案 0 :(得分:1)

这不包括学生总数,但这里有一种方法可以汇总每个年级的学生人数:

START n=node(*) 
WHERE HAS(n.grade) AND n.grade > 0 AND n.grade <= 3
RETURN DISTINCT n.grade AS grade, count(n.grade) AS count

根据您的架构/结构,您可能需要将n过滤为仅限学生。