1. この記事は何? PostgreSQLでWindow関数の便利さに感動したので、後々でも思い出せるように整理したものです。 2. 実行環境 SQL Fiddleでテスト出来ます。 3. Window関数って? 3.5. ウィンドウ関数より引用 ウィンドウ関数は現在の行に何らかとも関係するテーブル行の集合に渡って計算を行います。 これは集約関数により行われる計算の形式と似たようなものです。 とは言っても、通常の集約関数とは異なり、ウィンドウ関数の使用は単一出力行に行をグループ化しません。 行はそれぞれ個別の身元を維持します。 裏側では、ウィンドウ関数は問い合わせ結果による現在行だけでなく、それ以上の行にアクセスすることができます。 この関数のポイントとなる部分は以下かと思います。 特定カラムのグループとみなして集約関数が利用できる 集約関数の対象となった行はそのまま残る Select内で