Sybase 12.7 Home Theater System User Manual


 
その他の OLAP の例
96 Sybase IQ
例: ROW のデフォルトのウィンドウ・フレーム
このクエリは、ROW のデフォルトのウィンドウ・フレームの例を示しています。
SELECT prod_id, month_num, sales, SUM(sales) OVER
(PARTITION BY prod_id ORDER BY month_num RANGE
BETWEEN 1 FOLLOWING AND 3 FOLLOWING)
FROM sale
ORDER BY prod_id, month_num;
このクエリの結果セットを次に示します。
prod_id month_num sales sum(sales)
------- --------- ----- ----------
10 1 100 350
10 1 150 350
10 2 120 381
10 3 100 391
10 4 130 261
10 5 120 110
10 5 31 110
10 6 110 (NULL)
20 1 20 85
20 2 30 86
20 3 25 81
20 4 30 51
20 5 31 20
20 6 20 (NULL)
30 1 10 25
30 2 11 14
30 3 12 2
30 4 1 NULL)
30 4 1 (NULL)
例: UNBOUNDED PRECEDING UNBOUNDED FOLLOWING
この例では、パーティション内のすべてのローがウィンドウ・フレームに含ま
れます。このクエリは、パーティション全体 ( 各月に重複ローは含まれていま
せん ) における売上の最大値を計算します。
SELECT prod_id, month_num, sales, SUM(sales) OVER
(PARTITION BY prod_id ORDER BY month_num ROWS
BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
FROM sale WHERE rep_id = 1
ORDER BY prod_id, month_num;
このクエリの結果セットを次に示します。
prod_id month_num sales max(sales)
------- --------- ----- ----------
10 1 100 680
10 2 120 680
10 3 100 680
10 4 130 680