統計関数
ウィンドウ・パーティション
ウィンドウ・パーティションとは、PARTITION BY 句を使用して、ユーザ指定 の結果セット ( 入力ロー ) を分割することです。パーティションは、カンマで 区切られた 1 つ以上の値の式によって定義されます。パーティションに分割さ れたデータは暗黙的にソートされ、デフォルトのソート順序は昇順 (ASC) にな ります。
<WINDOW PARTITION CLAUSE> ::=
PARTITION BY <WINDOW PARTITION EXPRESSION LIST>
ウィンドウ・パーティション句を指定しなかった場合は、入力が 1 つのパー ティションとして扱われます。
注意 統計関数に対してパーティションという用語を使用した場合は、結果 セットのローを PARTITION BY 句に基づいて分割することだけを意味します。
ウィンドウ・パーティションは任意の式に基づいて定義できます。また、ウィ ンドウ・パーティションの処理はグループ化の後に行われるので (GROUP BY 句が指定されている場合 )、SUM、AVG、VARIANCE などの集合関数の結果を パーティションの式で使用することができます。したがって、パーティション を使用すると、GROUP BY 句や ORDER BY 句とはまた別に、グループ化と 順序付けの操作を実行することができます。たとえば、ある数量の最大 SUM を求めるなど、集合関数に対して集合関数を計算するクエリを記述できます。
GROUP BY 句がない場合でも、PARTITION BY 句を指定できます。
ウィンドウ順序
ウィンドウ順序とは、ウィンドウ・パーティション内の結果 ( ロー ) をウィン ドウ順序句に基づいて並べることです。ウィンドウ順序句には、1 つ以上の値 の式をカンマ区切りで指定します。ウィンドウ順序句を指定しなかった場合 は、入力ローが任意の順序で処理されることがあります。
<WINDOW ORDER CLAUSE> ::= <ORDER SPECIFICATION>
OLAP のウィンドウ順序句は、非ウィンドウ・クエリの式に指定できる ORDER BY 句とは異なります。詳細については、「文法規則 31」(100 ページ ) を参照し てください。
OLAP 関数で使用する ORDER BY 句は、通常はウィンドウ・パーティション 内のローをソートするための式を定義しますが、PARTITION BY 句がなくても ORDER BY 句を使用することができます。その場合は、このソート指定によっ て、確実に意味のある ( かつ意図どおりの ) 順序で並べられた中間の結果セッ トに OLAP 関数を適用することができます。
64 | Sybase IQ |