Sybase IQ 12.7 User Manual

Page of 212
 4 章    OLAP の使用
パフォーマンス&チューニング・ガイド
73
このクエリの結果セットを次に示します。
emp_id
emp_lname
curr
prev
delta
------
---------
---------
----------
----------
102
Whitney
45700.000
64500.000
-18800.000
105
Cobb
62000.000
68400.000
-6400.000
160
Breault
57490.000
96300.000
-38810.000
243
Shishov
72995.000
59840.000
13155.000
247
Driscoll
48023.690
87900.000
-39876.310
249
Guevara
42998.000
48023.690
-5025.690
266
Gowda
59840.000
57490.000
2350.000
278
Melkisetian
48500.000
74500.000
-26000.000
316
Pastor
74500.000
62000.000
12500.000
445
Lull
87900.000
67890.000
20010.000
453
Rabkin
64500.000
42998.000
21502.000
479
Siperstein
39875.500
42500.000
-2624.500
501
Scott
96300.000
54900.000
41400.000
529
Sullivan
67890.000
72995.000
-5105.000
582
Samuels
37400.000
39875.500
-2475.500
604
Wang
68400.000
45700.000
22700.000
839
Marshall
42500.000
48500.000
-6000.000
1157
Soo
39075.000
37400.000
1675.000
1250
Diaz
54900.000
ここではウィンドウ関数
 SUM() を使用していますが、ウィンドウの指定方法
により、この合計には現在のローまたは前のローの
 salary 値だけが含まれてい
ます。また、結果セットの最初のローには前のローが存在しないため、最初の
ローの
 prev 値は NULL になります。したがって、delta も NULL になります。
ここまでの例では、
OVER() 句と一緒に SUM() 集合関数を使用しました。
明示的なウィンドウ句とインラインのウィンドウ句
SQL OLAP では、クエリ内でウィンドウを指定する方法が 2 とおり用意されて
います。
明示的なウィンドウ句。
HAVING 句の後でウィンドウを定義します。OLAP
関数を呼び出すときには、このようなウィンドウ句で定義したウィンドウ
を、ウィンドウの名前を指定して参照します。たとえば次のようにします。
SUM ( ...) OVER w2