SQL において、窓関数(まどかんすう)もしくはウィンドウ関数 (ウィンドウかんすう、英: window function) は、結果セットを部分的に切り出した領域に集約関数を適用できる拡張された SELECT ステートメントである。SQL:2003 以降の標準SQLで規定されている。分析関数やOLAP機能と呼ばれる場合もある。
以下の例は、同じ city ごとに、その人口を集計している。
集約を行う領域は OVER 句により制御できる。
以下の構文を持ち、結果セットの分割と順序を制御できる。
ORDER BY句は row_number 関数のような順序の影響を受ける処理に対して使用する。
外部リンク
- Oracle Database / 分析計算およびレポート用SQL関数
- Microsoft SQL Server / OVER 句 (Transact-SQL)
- DB2 / OLAP 仕様
- PostgreSQL / ウィンドウ関数
![[SQL] 最強の分析ツールと言われるWindow関数について私が学んだこと DevelopersIO](https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2016/08/c2d4397c1641dced64f6c40e6354af74.png)


![[SQL] Window Functions](https://velog.velcdn.com/images/yoolumiere/post/c15e220a-4bee-4f11-8b7d-22a83b97c79b/image.png)
