導入
count() 以外にも、数値を合計・平均・最小・最大で集計する関数が用意されています。
説明
MATCH (a:Person)-[:ACTED_IN]->(m:Movie)
RETURN a.name AS actor, avg(m.released) AS avgReleaseYear
このクエリは、俳優ごとに出演した映画の公開年の平均を求めます。
主な集計関数は次のとおりです。
| 関数 | 意味 |
|---|---|
count(x) | 件数を数える |
sum(x) | 合計を求める |
avg(x) | 平均を求める |
min(x) | 最小値を求める |
max(x) | 最大値を求める |
MATCH (m:Movie)
RETURN count(m) AS totalMovies, min(m.released) AS oldest, max(m.released) AS newest
このクエリは、データベース内の全映画について、本数・最も古い公開年・最も新しい公開年を一度に求めます。RETURN にすべて集約関数だけを並べると、グルーピングする列がないため、全体で1つのグループとして集計されます。
これらの集計関数は、MATCH で探し当てたグラフのパターンに対してそのまま使えるのが特徴です。RDBのように別途集計用のテーブルを用意しなくても、「つながりをたどりながら、その場で数える」ことができます。