"成績"表から、クラスごとに得点の高い順に個人を順位付けした結果を求めるSQL文の、aに入れる字句はどれか。 〔SQL文〕 SELECT 氏名, クラス, 得点, [a]() OVER (PARTITION BY クラス ORDER BY 得点 DESC) 順位 FROM 成績
RANKはPARTITIONごとに1から順位を付ける窓関数

成績表:
結果:
| 氏名 | クラス | 得点 |
|---|---|---|
| 情報太郎 | A | 80 |
| 情報次郎 | A | 63 |
| 情報花子 | B | 70 |
| 情報桜子 | B | 92 |
| 情報三郎 | A | 78 |
| 氏名 | クラス | 得点 | 順位 |
|---|---|---|---|
| 情報太郎 | A | 80 | 1 |
| 情報三郎 | A | 78 | 2 |
| 情報次郎 | A | 63 | 3 |
| 情報桜子 | B | 92 | 1 |
| 情報花子 | B | 70 | 2 |
選択肢
- アCUME_DIST
- イMAX
- ウPERCENT_RANK
- エRANK
正解と解説
正解:エ RANK
OVER句でPARTITION BYにより区分し、ORDER BYで並べた中での順位を返す窓関数が必要である。RANKはこの用途の関数で、区分ごとに1から順位を付け直す。結果表もクラスごとに1から始まっているのでRANKが該当する。
選択肢ごとの解説
- アCUME_DISTは累積分布、すなわち0より大きく1以下の比率を返すので、整数の順位にはならない。
- イMAXは集約関数で最大値を返すもので、行ごとの順位付けはできない。
- ウPERCENT_RANKは順位を0から1の割合で表す関数であり、結果の整数値と合わない。
- エ正解。区分ごとに指定順で1から順位を付ける窓関数で、結果表の順位と一致する。
同じ分野の他の問題
- "商品"表と"商品別売上実績"表に対して、SQL文を実行して得られる売上平均金額はどれか。 〔SQL文〕 SELECT …2024年度 秋期 午前II 問7
- "商品"表と"商品別売上実績"表に対して、SQL文を実行して得られる売上平均金額はどれか。 〔SQL文〕 SELECT …2022年度 秋期 午前II 問7
- ある電子商取引サイトでは、会員の属性を柔軟に変更できるように、"会員項目"表で管理することにした。"会員項目"表に対し、…2021年度 秋期 午前II 問10
- 表Rと表Sに対し、SQL文を実行して結果を得るとき、aに入れる字句はどれか。ここで、結果のNULLは値が存在しないことを…2020年度 10月試験 午前II 問7
- ある電子商取引サイトでは、会員の属性を柔軟に変更できるように、“会員項目”表で管理することにした。“会員項目”表に対し、…2019年度 春期 午前II 問14
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。