IT用語集 › データベース › ウィンドウ関数

ウィンドウ関数

データベース Svenska → 更新: 2026-10-21

現在の行に関連する行の集合(「ウィンドウ」)に対して値を計算するSQL関数。GROUP BYと違って行をまとめずに残す。連番、累計、順位付け、前後の行との比較ができる。

構文は function() OVER (PARTITION BY ... ORDER BY ...)。代表的な関数は ROW_NUMBER()、RANK()、DENSE_RANK()、LAG()/LEAD()(前後の行を参照)、SUM() OVER (...)(累計)など。集約関数+GROUP BYとの違いは、ウィンドウ関数は全行を保持したまま計算列を追加する点だ。「各注文と、その顧客の合計購入額を同じ行に出す」といった使い方ができる。用途はグループごとの上位N件、残高の推移、構成比、欠番の検出など。SQL:2003で標準化され、現代のデータベースはすべて対応している。SQLの強力な機能の中で最も活用されていないもののひとつで、ぎこちない自己結合の置き換えになることが多い。

← 用語集に戻る