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