SQL GROUP BY句の使い方

PostgreSQL logo PostgreSQL

GROUP BY句を使用して、問い合わせ結果をグループ化し集計する方法を解説します。

構文

GROUP BY column_name1 [, column_name2]...

column_name1: グループ化するカラム1
column_name2: グループ化するカラム2

サンプルプログラム

以下のemployeeテーブルに対して、SQLコマンドを実行していきます。

  name   | age | department_id 
---------+-----+---------------
 Taro    |  23 |             5
 Hanako  |  23 |             4
 Jiro    |  22 |             5
 Haruo   |  42 |             2
 Natsuko |  35 |             1
 Akio    |  28 |             5
 Fuyumi  |  26 |             3
-- employeeテーブルのレコードをdepartment_idでグループ化しdepartment_id, countを参照
SELECT department_id, COUNT(*) FROM employee GROUP BY department_id;

■出力結果

 department_id | count 
---------------+-------
             3 |     1
             5 |     3
             4 |     1
             2 |     1
             1 |     1

補足情報

GROUP BY句を使用する場合、SELECT句に指定できる要素がGROUP BY句カラムや集合関数( COUNTやSUMなど )、定数式に限られる点に注意しましょう。

コメント

タイトルとURLをコピーしました