Sybase 12.7 用户手册

下载
页码 212
統計関数
 
68
 
Sybase IQ
どのウィンドウ・フレームでも、現在のローが参照ポイントになります。
SQL/OLAP の構文には、ローベースのウィンドウ・フレームを、現在のローの
前または後にある任意の数のロー
 (あるいは現在のローの前および後ろにある
任意の数のロー
) として定義するためのメカニズムが用意されています。
ウィンドウ・フレーム単位の代表的な例を次に示します。
Rows Between Unbounded Preceding and Current Row - 各パーティションの
先頭を開始ポイントとし、現在のローを終了ポイントとするウィンドウを
指定します。累積和など、累積的な結果を計算するためのウィンドウを構
築するときによく使用されます。
Rows Between Unbounded Preceding and Unbounded Following - 現在のローに
関係なく、パーティション全体についての固定ウィンドウを指定します。
そのため、ウィンドウ集合関数の値は、パーティションのすべてのローで
等しくなります。
Rows Between 1 Preceding and 1 Following - 3 つの隣接するロー ( 現在の
ローとその前および後のロー
) を含む固定サイズの移動ウィンドウを指定
します。このウィンドウ・フレーム単位を使用して、たとえば
 3 日間また
 を参照してください。
ウィンドウ値にギャップがあると、
ROWS を使用した場合に意味のない
結果が生成されることがあるので注意してください。値セットが連続して
いない場合は、
ROWS の代わりに RANGE を使用することを検討してくだ
さい。
RANGE に基づくウィンドウ定義では、重複する値を含んだ隣接
ローが自動的に処理され、範囲内にギャップがあるときに他のローが含ま
れません。
注意
移動ウィンドウでは、入力の最初のローの前、および入力の最後の
ローの後ろには、
NULL 値を含むローが存在することが想定されます。つ
まり、
3 つのローから成る移動ウィンドウの場合は、入力の最後のローを
現在のローとして計算するときに、直前のローと
 NULL 値が計算に含ま
れます。
Rows Between Current Row and Current Row - ウィンドウを現在のローのみ
に制限します。
Rows Between 1 Preceding and 1 Preceding - 現在のローの直前のローだけ
を含む単一ローのウィンドウを指定します。この指定を、現在のローのみ
に基づく値を計算する別のウィンドウ関数と組み合わせると、隣接する
ロー同士のデルタ
 ( 値の差分 ) を簡単に計算することができます。詳細につ
 を参照してください。