応用情報 午前ラボ

学習の画面へ

ROW_NUMBER を使った SQL

出典: 令和6年度 秋期 応用情報技術者試験 午前 問30 (IPA)

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

成績

学生番号実施回得点
S01170
S01780
S02285
S02582
S03383
S03978
S031290
S046100

[SQL 文 1]

SELECT R1.学生番号, R1.実施回, R1.得点 FROM 成績 R1
  INNER JOIN
  (SELECT 学生番号, MIN(実施回) AS 初回 FROM 成績
     GROUP BY 学生番号) R2
  ON R1.学生番号 = R2.学生番号
  AND R1.実施回 = R2.初回

[SQL 文 2]

SELECT 学生番号, 実施回, 得点
  FROM (SELECT 学生番号, 実施回, 得点, ROW_NUMBER() OVER ( a ) AS 番号
          FROM 成績) R1
  WHERE R1.番号 = 1
  1. ア ORDER BY 学生番号,実施回
  2. イ PARTITION BY 学生番号 ORDER BY 実施回
  3. ウ PARTITION BY 学生番号 ORDER BY 得点 ASC
  4. エ PARTITION BY 学生番号 ORDER BY 得点 DESC
正解と解説を見る

正解: イ

ポイント

「データベース」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)