この記事はDjango Advent Calendar 2019の記事です。 Django Advent Calendar 2019 - Qiita そして私の初のアドベントカレンダーです! 最近仕事でBigQueryで分析関数を使うことが多いので、 そのなかでもウィンドウ関数をDjangoのORMでも使えないかなと思い調べてみました。 ウィンドウ関数とは データベース製品よっては分析関数と呼ぶところもあればウィンドウ関数と呼ぶところもあります。 この記事ではPostgreSQLを使います。PostgreSQLでは分析関数をウィンドウ関数と呼んでいるのでウィンドウ関数で統一します。 PostgreSQLの公式ドキュメントには下記のように説明されています。 ウィンドウ関数は現在の行に何らかとも関係するテーブル行の集合に渡って計算を行います。 これは集約関数により行われる計算の形式と似たような