すべてのプロダクト
Search
ドキュメントセンター

OpenSearch:GROUP BY

最終更新日:Jun 19, 2026

GROUP BY 句は、組み込みのユーザー定義集計関数 (UDAF) を使用して、1 つ以上のフィールドでデータを集約します。

説明

GROUP BY 句は、1 つ以上のフィールドのデータを集約して、最大値、最小値、平均値などの値を計算します。

構文

select:
    SELECT [ ALL | DISTINCT ]
    { * | projectItem [, projectItem ]* }
    FROM tableExpression
    [ WHERE booleanExpression ]
    [ GROUP BY { groupItem [, groupItem ]* } ]
    [ HAVING booleanExpression ]

組み込み UDAF

次の表では、組み込み UDAF について説明します。

番号

関数名

機能

1

SUM

集約後の合計を計算します。

2

MIN

集約後の最小値を求めます。

3

MAX

集約後の最大値を求めます。

4

COUNT

行数をカウントします。

5

AVG

集約後の平均値を計算します。

6

ARBITRARY

任意の入力値を出力として選択します。

UDAF をカスタマイズして、集約ロジックを拡張できます。

  1. SUM:

SELECT brand, SUM(price) FROM phone WHERE nid < 8 GROUP BY brand
  1. MIN:

SELECT brand, MIN(price) FROM phone WHERE nid < 8 GROUP BY brand
  1. MAX:

SELECT brand, MAX(price) FROM phone WHERE nid < 8 GROUP BY brand
  1. COUNT:

SELECT brand, COUNT(*) FROM phone WHERE nid < 8 GROUP BY brand
  1. AVG:

SELECT brand, AVG(price) FROM phone WHERE nid < 8 GROUP BY brand
  1. HAVING 句:

SELECT brand FROM phone GROUP BY brand HAVING COUNT(brand) > 10