過去問解きまくり研究所 ホーム

平成31年度 春期 午前 問27

データベース

“中間テスト”表からクラスごと,教科ごとの平均点を求め,クラス名,教科名の昇順に表示する SQL 文中のaに入れる字句はどれか。

中間テスト(クラス名, 教科名, 学生番号, 名前, 点数)

〔SQL文〕

SELECT クラス名, 教科名, AVG(点数) AS 平均点
  FROM 中間テスト
    a
答えと解説を見る

✓ これが正解イGROUP BY クラス名, 教科名 ORDER BY クラス名, 教科名

解説

まとめる列をクラスと教科の二つにし、同じ順で並べます。

平均や合計は、行をまとめてから計算します。まとめる単位を決めるのが GROUP BY です。問いはクラスごと、教科ごとの平均を求めています。ですからまとめる単位は、クラス名と教科名の二つです。ここに学生番号を足すと、一人ずつに分かれてしまいます。平均を取る相手が一行だけになり、意味を失います。次に、表示の順を決めるのが ORDER BY です。問いはクラス名、教科名の昇順と指定しています。ですから並べ替えの鍵も、その二つを順に書きます。平均点で並べると、指定と違う順になります。正解の肢は、まとめる列と並べる列が指定と一致します。二つの指定は、それぞれ別の役目を持ちます。昇順は既定なので、書き添えなくても同じ結果です。集計する前に、行をどう束ねるかを先に決めます。書く順序も、束ねてから並べる形です。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成31年度 春期 基本情報技術者試験 午前 問27

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)