| 学生番号 | 実施回 | 得点 |
|---|---|---|
| S01 | 1 | 70 |
| S01 | 7 | 80 |
| S02 | 2 | 85 |
| S02 | 5 | 82 |
| S03 | 3 | 83 |
| S03 | 9 | 78 |
| S03 | 12 | 90 |
| S04 | 6 | 100 |
応用情報技術者試験 令和6年度秋期 午前 問30「“成績”表に対して,SQL文1と同一の結果を得るために,SQL文2のaに入れる字…」の正解と解説です。応用情報技術者試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約60%です。
イ. PARTITION BY 学生番号 ORDER BY 実施回
正答率 59.7%(653人中 390人が正解)
SQL文1は、学生ごとに実施回が最小(初回)の行を取り出す問合せである。SQL文2はこれをウィンドウ関数 ROW_NUMBER() で書き換えるもので、学生番号ごとにグループ分けし(PARTITION BY 学生番号)、その中で実施回の昇順に並べて(ORDER BY 実施回)連番を振り、番号=1(=各学生で実施回が最小の行)を取り出せば同じ結果になる。よって a には PARTITION BY 学生番号 ORDER BY 実施回 が入り、正解はイである。
応用情報技術者試験 令和6年度秋期 午前 の過去問一覧に戻る・問30