次の方法で共有


ウィンドウ関数の概要

ウィンドウ関数は、一度に複数の行(レコード)を行セットで操作します。 集計関数とは異なり、ウィンドウ関数では、行セット内の行をシリアル化する必要があります(特定の順序を指定できます)。 ウィンドウ関数は、結果を判断するために順序に依存する場合があります。

ウィンドウ関数は、シリアル化されたセットでのみ使用できます。 行セットをシリアル化する最も簡単な方法は、serialize 演算子を使用することです。 この演算子は、任意の方法で行の順序を "凍結" します。 シリアル化された行の順序が意味的に重要である場合は、sort 演算子を使用して特定の順序を強制します。

シリアル化プロセスには、それに関連する重要ではないコストがあります。 たとえば、多くのシナリオでは、クエリの並列化が妨げられる可能性があります。 したがって、シリアル化を不必要に適用しないでください。 必要に応じて、可能な限り最小の行セットでシリアル化を実行するようにクエリを再配置します。

シリアル化された行セット

任意の行セット(テーブルや表形式演算子の出力など)は、次のいずれかの方法でシリアル化できます。

  1. 行セットを並べ替える。 並べ替えられた行セットを出力する演算子の一覧については、以下を参照してください。
  2. serialize 演算子を使用します。

多くの表形式演算子は、入力が既にシリアル化されている場合でも、結果がシリアル化されることを保証していない場合でも、出力をシリアル化します。 たとえば、このプロパティは、拡張演算子プロジェクト演算子、およびwhere 演算子に対して保証されます。

並べ替えによってシリアル化された行セットを出力する演算子

シリアル化された行セットプロパティを保持する演算子