平成25年度 春期 基本情報技術者試験 午前 問28
テクノロジ/データベース“中間テスト”表からクラスごと,教科ごとの平均点を求め,クラス名,教科名の昇順に表示する SQL 文中の a に入れるべき字句はどれか。 中間テスト(クラス名,教科名,学生番号,名前,点数) 〔SQL文〕 SELECT クラス名, 教科名, AVG(点数) AS 平均点 FROM 中間テスト a
出典:平成25年度 春期 基本情報技術者試験 午前 問28
- アGROUP BY クラス名, 教科名 ORDER BY クラス名, AVG(点数)
- イGROUP BY クラス名, 教科名 ORDER BY クラス名, 教科名
- ウGROUP BY クラス名, 教科名, 学生番号 ORDER BY クラス名, 教科名, 平均点
- エGROUP BY クラス名, 平均点 ORDER BY クラス名, 教科名
正解:イ
解説
クラスごと,教科ごとに平均点を求めるには,GROUP BY句にクラス名と教科名を指定する必要があります。また,結果をクラス名,教科名の昇順に表示するには,ORDER BY句にもクラス名,教科名を指定します。
選択肢ごとの解説
- ア誤り。ORDER BYにAVG(点数)を指定すると平均点順の並び替えになり,教科名の昇順という指定を満たしません。
- イ正しい。GROUP BYとORDER BYの両方にクラス名,教科名を指定することで,正しい集計と並び替えができます。
- ウ誤り。GROUP BYに学生番号まで加えると,学生ごとに集計されてしまい,クラス・教科ごとの平均点にならなくなります。
- エ誤り。GROUP BYに平均点(集計結果)を指定することはできず,集計前の列を指定する必要があります。