窓関数とは?
窓関数とは、行をグループ化して集約するのではなく、各行にその行が属する範囲(ウィンドウ)に基づく計算結果を付加する関数。OVER句でPARTITION BY(分割)とORDER BY(順序)を指定する。
データベーススペシャリスト試験の過去問では1回出題されています。
まどかんすう
窓関数の意味
行をグループ化して集約するのではなく、各行にその行が属する範囲(ウィンドウ)に基づく計算結果を付加する関数。OVER句でPARTITION BY(分割)とORDER BY(順序)を指定する。
窓関数の具体例
RANK() OVER (PARTITION BY 部門コード ORDER BY 給与 DESC) で部門ごとの給与順位を各行に付ける。
窓関数は試験でどう引っ掛けられる?
RANKは同順位のあと順位が飛ぶ(1,1,3)、DENSE_RANKは飛ばない(1,1,2)、ROW_NUMBERは同値でも一意な連番を振る。
窓関数と関連する用語
窓関数が出た過去問
"成績"表から、クラスごとに得点の高い順に個人を順位付けした結果を求めるSQL文の、aに入れる字句はどれか。 〔SQL文〕 SELECT 氏名, クラス, 得点…
正解:RANK
要点:RANKはPARTITIONごとに1から順位を付ける窓関数
OVER句でPARTITION BYにより区分し、ORDER BYで並べた中での順位を返す窓関数が必要である。RANKはこの用途の関数で、区分ごとに1から順位を付け直す。結果表もクラスごとに1から始まっているのでRANKが該当する。
出典:令和5年度 秋期 データベーススペシャリスト試験 am2 問9(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。