カコモンノート

問30応用情報技術者 令和6年度 秋期

30 / 80問
令和6年度 秋期2024年

"成績"表に対して,SQL文1と同一の結果を得るために,SQL文2のaに入れる字句はどれか。

この問題の図
問題に添えられた図。出典は下に書いています。

選択肢をえらぶと、答えと解説が出ます

選択肢をえらぶと、
ここに答えと解説が出ます
正答 2

解説

正解は2。SQL文1は、学生番号ごとに実施回の最小値(初回)を求めて結合しているので、各学生の初回の行(S01の1回、S02の2回、S03の3回、S04の6回)を返す。SQL文2でこれと同じにするには、ROW_NUMBER()で学生番号ごとに区切り(PARTITION BY 学生番号)、実施回の小さい順(ORDER BY 実施回)に番号を振って、番号1の行を取り出せばよい。

  • 1は、区切りがないので表全体に通し番号が振られ、番号1はS01の1回の1行だけになる。
  • 3は、得点の低い順の1位になり、S02は5回(82点)、S03は9回(78点)が選ばれて結果が違う。
  • 4は、得点の高い順の1位になり、S01は7回(80点)、S03は12回(90点)が選ばれて結果が違う。

根拠:SQLのウィンドウ関数(ROW_NUMBER、PARTITION BY、ORDER BY)の標準的な理解

KEY POINT
ROW_NUMBER() OVER(PARTITION BY 列 ORDER BY 列)は、グループごとに並べた順に番号を振るウィンドウ関数である。
出典:令和6年度 秋期 応用情報技術者試験 午前 問30(独立行政法人 情報処理推進機構(IPA))
独立行政法人情報処理推進機構(IPA)が公表している過去問題です。IPA の「過去問題の使用について」に基づき、IPA が指定する形で出典を明記して掲載しています(利用の許諾申請は不要)。問題文・選択肢の内容は変えていません。元の問題冊子から文字を起こす都合で、改行・字間の空白は省き、英数字の全角・半角は元とそろえていない箇所があります。図表は IPA が公表した問題冊子のものです。解説は当サイトが独自に作成したもので、IPA とは関係ありません。