5.5 SQLグラフ問合せでの集計関数の使用
SQLグラフ問合せで集計関数を使用すると、集計された出力を取得できます。
SQL組込み集計関数とユーザー定義集計の両方がサポートされています。これらの関数は、SQLグラフ問合せにおいて固定長パス・パターンと可変長パス・パターンの両方で含めることができます。
集計関数は、COLUMNS
句で、またはSQLグラフ問合せのグラフ・パターンのWHERE
句で適用できます。たとえば、次の問合せ例を考えてみます。
SELECT *
FROM GRAPH_TABLE ( g
MATCH (v1) (-[e]->(v2)){1,2}
COLUMNS (LISTAGG(v2.id, ',') AS id_list)
前述のグラフ問合せでは、数量詞として{1,2}
が含まれている可変長パス・パターンが記述されています。LISTAGG
集計関数をCOLUMNS
句で使用して、パスに沿ってid
すべてがリストされるようにしています。
同様に、次のように、固定長パス・パターンで集計を適用することもできます。
SELECT *
FROM GRAPH_TABLE ( g
MATCH (v1) (-[e]->(v2)){2}
WHERE AVG(v2.age) >= 30
COLUMNS (LISTAGG(v2.id, ',') AS id_list)
前述のグラフ問合せでは、固定長パス・パターンが記述されています。WHERE
句で使用されているAVG
集計では、平均age >= 30
条件を満たすパスのみが特定されます。結果となる問合せ出力は、パスに沿ったid
のリストです。
集計を使用した問合せの例は、例5-15を参照してください。