ウィンドウ指定が適用される集約関数は、ウィンドウ集約関数と呼ばれます。ウィンドウ指定がない場合、集約関数は、限定されたすべての対象行についての値を1つ戻します。ウィンドウ集約関数は、問合わせに含まれる限定行ごとに新しい値を1つ戻します。
例えば、集約AVGを含む次のSELECT文では、値(売上げの平均)が1つだけ戻されます。
SELECT AVG(sale) FROM monthly_sales; Average(sale) ------------- 1368
AVGウィンドウ関数では、各限定行が保持されます。
例えば次のSELECT文は、以下に示す結果を戻します。
SELECT territory, smonth, sales, AVG(sales) OVER (PARTITION BY territory ORDER BY smonth ROWS 2 PRECEDING) FROM sales_history; territory smonth sales Moving Avg(sales) --------- ------- ----- ----------------- East 199810 10 10 East 199811 4 7 East 199812 10 8 East 199901 7 7 East 199902 10 9 West 199810 8 8 West 199811 12 10 West 199812 7 9 West 199901 11 10 West 199902 6 8