[Neo4J] aggregation聚合 Cypher查询语言(CQL) 语法参考教程

类似于sql中的group by功能, 根据分组键计算聚合值

match (n {name: 'a'}) -- (x)
// n是分组键, 即name=a的节点, count(*)是匹配成功的次数, 即满足条件的x的个数
return n, count(*)

match (n) - [r] - (x)
// 计算每种类型的关系各有多少个
return type(r), count(*)

match (n:person) -- (x)
// 计算满足条件的x节点的个数
return count(x)

match (n)
// 计算有属性的节点的个数
return count(n.property)

match (n)
// 计算所有n的某个属性的和, null被忽略
return sum(n.property)

类似的聚合函数还有:
avg 均值
percentileDisc(n.property, x) 计算给定值在一个组中的百分位
percentileCont(n.property, x) 计算给定值在一个组中的百分位
stddev 标准差
min 最小值
collect(n.property) 将所有的值组成一个列表

你可能感兴趣的:([Neo4J] aggregation聚合 Cypher查询语言(CQL) 语法参考教程)