Neo4j笔记(二)Cypher(4)聚合

Cypher的聚合和别的语言不一样,比如在SQL中聚合是通过group by实现的,而在cypher中是通过聚合函数默认聚合的。看一个例子:
match(n:Person) return n.name, count(n.name)
表面上看没有做任何聚合操作,实际上,因为使用了聚合函数count,因此会自动根据前面字段做聚合操作,上述语句的意思是统计每个名字的使用次数(使用相同名字的个数)。

1、聚合函数

其他聚合函数和count类似,具体含义见下表:

聚合函数 含义 备注
count 计算数量  
sun 求和  
avg 平均值  
percentileDisc 计算给定百分位在组中的值,数值从0.0~1.0,采用四舍五入返回最接近百分位的值 return percentileDisc(n.age, 0.7)
percentileCont 计算给定百分位在组中的值,数值从0.0~1.0,采用线性插值,在两个值之间计算一个加权平均数 return percentileCont(n.age, 0.7)
stdev 无偏估计的标准偏差,分母是n-1  
stdevp 标准偏差  
max/min 最大/最小  

2、collect

collect将所有值收集作为一个列表返回,忽略空值。

3、distinct

去重,可用于聚合函数中。

猜你喜欢

转载自blog.csdn.net/haveanybody/article/details/89387268
今日推荐