重要なポイント
構文
集計単位
select avg([別名].[カラム名]) from [テーブル名] [別名]
group by [別名].[カラム名];
<例題>
- 学生マスタ(student_mst)からデータを取得すること。
- 抽出条件なし
- カラム:テスト点数(test_su)の平均値を取得(平均点)すること
- 集計単位
- 学科NO(gakka_no)ごと
select avg(sm.test_su) from student_mst sm
group by sm.gakka_no;
選択カラムの追加
select
[別名].[カラム名1]
,avg([別名].[カラム名2])
from [テーブル名] [別名]
group by [別名].[カラム名1];
<例題>
- 学生マスタ(student_mst)からデータを取得すること。
- 抽出条件なし
- カラム
- 学科NO(gakka_no)
- テスト点数(test_su)の平均値を取得(平均点)すること
- 集計単位
- 学科NO(gakka_no)ごと
select
sm.gakka_no
,avg(sm.test_su)
from student_mst sm
group by sm.gakka_no;
集計単位が2つ以上
select
[別名].[カラム名1]
,[別名].[カラム名2]
,avg([別名].[カラム名3])
from [テーブル名] [別名]
group by [別名].[カラム名1]
,[別名].[カラム名2];
<例題>
- 学生マスタ(student_mst)からデータを取得すること。
- 抽出条件なし
- カラム
- 学科NO(gakka_no)
- 性別(seibetu_ku)
- テスト点数(test_su)の平均値を取得(平均点)すること
- 集計単位
- 学科NO(gakka_no)ごと
- 性別(seibetu_ku)ごと
select
sm.gakka_no
,sm.seibetu_ku
,avg(sm.test_su)
from student_mst sm
group by sm.gakka_no
,sm.seibetu_ku;
条件追加
select
[別名].[カラム名1]
,[別名].[カラム名2]
,avg([別名].[カラム名3])
from [テーブル名] [別名]
where [別名].[カラム名4] = [条件1]
and [別名].[カラム名5] = [条件2]
group by [別名].[カラム名1]
,[別名].[カラム名2];
<例題>
- 学生マスタ(student_mst)からデータを取得すること。
- 抽出条件
- 学科NO(gakka_no)が〈2〉以上
- かつ学科NO(gakka_no)が〈10〉未満
- カラム
- 学科NO(gakka_no)
- 性別(seibetu_ku)
- テスト点数(test_su)の平均値を取得(平均点)すること
- 集計単位
- 学科NO(gakka_no)ごと
- 性別(seibetu_ku)ごと
select
sm.gakka_no
,sm.seibetu_ku
,avg(sm.test_su)
from student_mst sm
where sm.gakka_no >= 2
and sm.gakka_no < 10
group by sm.gakka_no
,sm.seibetu_ku;
並び順追加
select
[別名].[カラム名1]
,[別名].[カラム名2]
,avg([別名].[カラム名3])
from [テーブル名] [別名]
where [別名].[カラム名4] = [条件1]
and [別名].[カラム名5] = [条件2]
group by [別名].[カラム名1]
,[別名].[カラム名2]
order by [別名].[カラム名1];
<例題>
- 学生マスタ(student_mst)からデータを取得すること。
- 抽出条件
- 学科NO(gakka_no)が〈2〉以上
- かつ学科NO(gakka_no)が〈10〉未満
- カラム
- 学科NO(gakka_no)
- 性別(seibetu_ku)
- テスト点数(test_su)の平均値を取得(平均点)すること
- 集計単位
- 学科NO(gakka_no)ごと
- 性別(seibetu_ku)ごと
- 並び替え
- 学科NO(gakka_no)を降順
select
sm.gakka_no
,sm.seibetu_ku
,avg(sm.test_su)
from student_mst sm
where sm.gakka_no >= 2
and sm.gakka_no < 10
group by sm.gakka_no
,sm.seibetu_ku
order by sm.gakka_no desc;
注意すべきポイント
集計関数以外で「select」と「from」の間で選択されたカラムは、「group by」に記述しないといけない。