集約および順序付き分析関数と同様、GROUP BY句も再帰的ビュー定義内のシード文の一部としてコーディングされる場合は有効ですが、繰り返し文の一部としてコーディングされる場合は無効です。
最初の例は、GROUP BY句の正しい使い方を示しています。この例でGROUP BYは、シード文の一部としてコーディングされています。
CREATE RECURSIVE VIEW aggregation (source,destination,mycount) AS ( SELECT source, destination, 0 AS mycount FROM flights GROUP BY source, destination UNION ALL SELECT in1.source, out1.destination, in1.mycount + 1 FROM aggregation AS in1, flights AS out1 WHERE in1.destination = out1.source AND in1.mycount <=100);
2番目の例は、GROUP BY句の無効な使い方を示しています。この例でGROUP BY句は、繰り返し文の一部としてコーディングされています。
CREATE RECURSIVE VIEW aggregation (source,destination,mycount) AS ( SELECT source, destination, 0 AS mycount FROM flights UNION ALL SELECT in1.source, out1.destination, in1.mycount + 1 FROM aggregation AS in1, flights AS out1 WHERE in1.destination = out1.source AND in1.mycount <=100 GROUP BY in1.source, out1.destination);