2023年 秋期 データベーススペシャリスト 午前 問9

“成績”表から、クラスごとに得点の高い順に個人を順位付けした結果を求めるSQL文の、aに入れる字句はどれか。

[SQL文]
 SELECT 氏名, クラス, 得点,
     a  () OVER (PARTITION BY クラス ORDER BY 得点 DESC) 順位
   FROM 成績

 ア  CUME_DIST  イ  MAX  ウ  PERCENT_RANK  エ  RANK


答え エ


解説
SQL文で、クエリで取得した結果セットの各データに順位をつけて返す関数はRANK(RANK OVER)になるので、問題のSQL文は
 SELECT 氏名, クラス, 得点,
   RANK() OVER (PARTITION BY クラス ORDER BY 得点 DESC) 順位
   FROM 成績
になります。


キーワード
・SQL文

キーワードの解説
  • SQL文
    • RANK(RANK OVER)
      SQLクエリで取得した結果セットの各データに順位をつけて返す関数
    • PARTITION
      指定した列の値ごとの計算処理
    • ORDER BY
      指定した列の値の大小や前後に基づいて抽出した行を並べ替える関数
    • DESC
      ORDER BY句を利用して降順に並べ替える際に指定する関数
    • CUME_DIST
      値のグループにある値の累積分布値を計算する関数
    • MAX
      指定した列の最大値を返す関数
    • PERCENT_RANK
      ソートした結果から求めた順位をパーセント値(0〜1の数値)で返す関数

もっと、「SQL文」について調べてみよう。

戻る 一覧へ 次へ