User manual
統計関数
62 Sybase IQ
ウィンドウ
OLAP に関する ANSI SQL 拡張機能で導入された主な機能は、ウィンドウと呼
ぶ構造です。このウィンドウ拡張機能により、ユーザはクエリの結果セット
( または、クエリの論理パーティション ) をパーティションと呼ばれるローの
グループに分割し、現在のローについて集計するローのサブセットを決定する
ことができます。
1 つのウィンドウには 3 つのクラスのウィンドウ関数として、ランク付け関数、
ロー・ナンバリング関数、およびウィンドウ集合関数を使用できます。
<WINDOWED TABLE FUNCTION TYPE> ::=
<RANK FUNCTION TYPE> <LEFT PAREN> <RIGHT PAREN>
| ROW_NUMBER <LEFT PAREN> <RIGHT PAREN>
| <WINDOW AGGREGATE FUNCTION>
詳細については、「文法規則 6」(98 ページ ) を参照してください。
ウィンドウ拡張機能は、ウィンドウ名または指定に対するウィンドウ関数の種
類を指定し、1 つのクエリ式のスコープ内のパーティション化された結果セッ
トに適用されます。ウィンドウ・パーティションは、特殊な OVER 句の 1 つ
以上のカラムで定義されている、クエリから返されるローのサブセットです。
olap_function() OVER (PARTITION BY col1, col2...)
ウィンドウ操作では、パーティション内の各ローのランク付け、パーティショ
ン内のローの値の分布、および同様の操作などの情報を設定できます。また、
データの移動平均や合計を計算し、データおよび操作に対するそのデータの影
響を評価する機能を拡張することもできます。
ウィンドウ・パーティションは、特殊な OVER() 句の 1 つ以上のカラムで定義
されている、クエリから返されるローのサブセットです。
OLAP_FUNCTION() OVER (PARTITION BY col1, col2...)
OLAP ウィンドウの 3 つ
の重要な側面
OLAP ウィンドウは、ウィンドウ・パーティション、ウィンドウ順序、ウィン
ドウ・フレームという 3 つの重要な側面から成ります。それぞれの要素は、そ
の時点でウィンドウ内で可視となるデータ・ローに大きな影響を与えます。ま
た、OLAP の OVER 句は、次の 3 つの特徴的な機能により、OLAP 関数を他の
統計関数やレポート関数から区別します。
• ウィンドウ・パーティションの定義 (PARTITION BY 句 )。詳細について
は、「ウィンドウ・パーティション」(64 ページ ) を参照してください。
• パーティション内でのローの順序付け (ORDER BY 句 )。詳細については、
「ウィンドウ順序」(64 ページ ) を参照してください。
• ウィンドウ・フレームの定義 (ROWS/RANGE 指定 )。「ウィンドウ・フレー
ム」(65 ページ )。