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