SELECT | JOB,AVG(SAL) |
FROM | EMP |
GROUP BY | JOB |
集合関数を使用し、引数のカラムの最大値、最小値、平均などを求める方法を学習しました。GROUP BYを使用すると、指定したカラムごとにグループ化し、集合関数の計算結果を取得することができます。グループ化の方法はグループ化するカラムを[GROUP BY カラム名]のように記述します。
SELECT文に記載することができるカラムは、GROUP BYで指定したカラムと集合関数を記述することが出来ます。
通常のSELECT文と同じように、WHERE条件はを記述することが出来ます。まず、WHERE条件によりレコードが抽出され、GROUP BYで指定したカラムごとにグループ化され、集合関数で計算結果が求めらえます。
SELECT | JOB,AVG(SAL) |
FROM | EMP |
WHERE | DEPTNO <> 10 |
GROUP BY | JOB |
複数のカラムによるグループ化を行う場合は、GROUP BYの後ろにカラム名をカンマ区切りで記述します。
それでは実習です。1題出題します。
商品番号 | 顧客番号 | 注文数量 |
G1 | C1 | 30 |
G1 | C2 | 10 |
G2 | C2 | 50 |
G2 | C3 | 10 |
G3 | C3 | 20 |
商品番号 | |
G1 | 40 |
G2 | 60 |
G3 | 20 |
ア | SELECT 顧客番号,SUM(注文数量) FROM 注文 ORDER BY 商品番号 |
イ | SELECT 顧客番号,注文数量 FROM 注文 GROUP BY 商品番号 |
ウ | SELECT 商品番号,SUM(注文数量) FROM 注文 GROUP BY 商品番号 |
エ | SELECT 商品番号,注文数量 FROM 注文 GROUP BY 商品番号 |
これで[グループ化(GROUP BY)]は終了です。