GROUP BY句 【GROUP BY clause】

概要

GROUP BY句(GROUP BY clause)とは、リレーショナルデータベースの操作や問い合わせに用いるSQLで、抽出した行をグループ化し、グループごとに何らかの集計値を算出するもの。SELECT文の中で使用する。

SELECT文で抽出した行に対し、指定した列の値が同一である行同士を一つのグループとしてまとめ、グループごとに一つの値を返す。どんな値を返すかは集計関数によって指定し、「COUNT」(行数カウント)や「SUM」(合計値)、「AVG」(平均値)などを用いる。

例えば、「SELECT COUNT(*) AS Count, AVG(Age) AS AvgAge FROM Users GROUP BY Region」のように指定すると、Usersテーブルの行をRegionフィールドの値が同一であるもの同士でグループ化し、その行数をCountとして、Ageフィールド平均値をAvgAgeとして返す。

対象をテーブル全体ではなく指定した条件に基づいて絞り込みたい場合は末尾にHAVING句を付け加える。例えば、先のクエリの末尾に「HAVING Age > 20」を加えると、Ageフィールドが20より大きい行のみを対象に集計を行う。

(2022.4.7更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。