Sybase 12.7 Home Theater System User Manual


 
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