TOPSIC SQLでは、SQLの実行環境にSQLiteを使用しています。SQLite以外のRDBMSの文法を使用することはできません。 問題を解く際に注意すべきSQLiteの制約について、以下に記載してありますのでご確認下さい。
その他のSQLiteの制約については、SQLiteの公式ドキュメントをご確認ください。 また、ER図の読み方やSQLiteの関数および構文などについては、「受験ルール・用語」をご確認ください。
学生を対象としたとある試験(試験コード: 'T00001')を実施しました。 合計得点テーブルには各学生の合計得点や順位などのデータを保存する構成になっています。 現在、合計得点の集計が完了しましたが、順位の値がNULLのままになっています。 合計得点を元に各学生の順位を判定しましょう。
※本試験は今回が初開催であり、試験コードが'T00001'のデータのみとなっています。
※左が物理名、右が論理名です。
合計得点をもとに順位を算出し、合計得点テーブルの順位の値を更新してください。 順位の算出にはRANK関数を使用してみましょう。
ヒント RANK関数を使って順位を集計することができます。
SELECT RANK() OVER(ORDER BY カラム名 DESC) FROM テーブル名
上記のように特定のカラムの順序で順位を算出することができます。 値が同じ場合は同率順位とされ、続く順位は欠番になります。