目錄
- 聚合Aggregation
- 計數
- 計算節點數
- 分組計算關系類型
- 計算實體數
- 計算非空可以值數
- 求和sum
- 平均值avg
- 最大值max
- 最小值min
- 聚類COLLECT
- 相異DISTINCT
聚合(Aggregation)
為集合計算資料,Cypher提供聚類功能,與SQL的group by類似。在return語句中發現的任何聚類函數,所有沒有聚類函數的列将作為聚合key使用。
圖:

計數(count)使用來計算行數。Count有兩種使用方法。Count(*)計算比對的行的行數,count(<辨別符>)計算辨別符中非空值數。
計算連結到一個節點的節點數,可以使用count(*)。
查詢:
START n=node(2)
MATCH (n)-->(x)
RETURN n, count(*)
傳回開始節點和相關節點節點數。
結果:
計算分組了得關系類型,傳回關系類型并使用count(*)計算。
MATCH (n)-[r]->()
RETURN type(r), count(*)
傳回關系類型和其分組數。
相比使用count(*),可能計算辨別符更實在。
RETURN count(x)
傳回連結到開始節點上的節點數
START n=node(2,3,4,1)
RETURN count(n.property?)
求和(sum)
Sum集合簡單計算數值類型的值。Null值将自動去掉。如下:
START n=node(2,3,4)
RETURN sum(n.property)
計算所有節點屬性值之和。
平均值(avg)
Avg計算數量列的平均值
RETURN avg(n.property)
最大值(max)
Max查找數字列中的最大值。
RETURN max(n.property)
最小值(min)
Min使用數字屬性作為輸入,并傳回在列中最小的值。
RETURN min(n.property)
聚類(COLLECT)
Collect将所有值收集到一個集合list中。
RETURN collect(n.property)
傳回一個帶有所有屬性值的簡單列。
相異(DISTINCT)
聚合函數中使用distinct來去掉值中重複的資料。
START a=node(2)
MATCH a-->b
RETURN count(distinct b.eyes)