📅  最后修改于: 2023-12-03 15:33:05.898000             🧑  作者: Mango
Neo4j 是目前最流行的图形数据库之一,支持 SQL 类似的查询语言 Cypher。聚合函数在 Cypher 查询语言中发挥着重要作用。本文将重点介绍 Neo4j 中的 Cypher 聚合函数。
count()
用于计算指定条件下的节点数量。
例如,计算所有性别为男性的人的数量:
MATCH (n:Person {gender: 'male'})
RETURN count(n)
sum()
用于计算指定属性的总和。
例如,计算一组电影的票房总和:
MATCH (n:Movie)
RETURN sum(n.boxOffice)
avg()
用于计算指定属性的平均值。
例如,计算一组电影的评分平均值:
MATCH (n:Movie)
RETURN avg(n.rating)
max()
和 min()
分别用于计算指定属性的最大值和最小值。
例如,找出一组电影中最高和最低的评分:
MATCH (n:Movie)
RETURN max(n.rating), min(n.rating)
collect()
用于将匹配的节点打包成一个列表,便于之后的操作。
例如,收集一个人的所有好友:
MATCH (n:Person {name: 'Alice'})-[:FRIENDS_WITH]->(m:Person)
RETURN collect(m)
group()
用于将结果分组,方便进行聚合操作。
例如,将电影按照类型进行分组:
MATCH (n:Movie)
RETURN n.genre, count(n)
GROUP BY n.genre
本文介绍了 Neo4j 中常用的 Cypher 聚合函数,包括 count()
、sum()
、avg()
、max()
、min()
、collect()
和 group()
。掌握这些函数可以提高查询效率,使查询更加灵活和高效。