窓関数とは?
窓関数とは、行をグループ化して集約するのではなく、各行にその行が属する範囲(ウィンドウ)に基づく計算結果を付加する関数。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文1と同一の結果を得るために、SQL文2のaに入れる字句はどれか。 〔SQL文1〕 SELECT R1.学生番号, R1.実施回, R…
正解:PARTITION BY 学生番号 ORDER BY 実施回
要点:PARTITION BYで区切りORDER BYで並べた連番1がグループ内の先頭行
SQL文1は学生番号ごとに最小の実施回、つまり各学生の初回の行を取り出している。同じ結果をウィンドウ関数で得るには、学生番号ごとにグループを区切り(PARTITION BY 学生番号)、実施回の昇順に並べて(ORDER BY 実施回)連番を振り、番号が1の行を選べばよい。
出典:令和6年度 秋期 応用情報技術者試験 午前 問30(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。