![例:ROW のデフォルトのウィンドウ・フレーム](/images/new-backgrounds/25485/25485223x1.webp)
その他の OLAP の例
例: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 |
96 | Sybase IQ |