Window

AVG_WINDOW

DuckDBDuckDB

Menghitung moving average atau running average menggunakan window function. Sangat berguna untuk smoothing data dan analisis tren.

Tipe hasil: DOUBLE

Syntax

SQL
AVG(expression) OVER ([PARTITION BY ...] [ORDER BY ...] [frame_clause])

Parameter

expressionNUMERICwajib

Kolom atau ekspresi numerik yang akan dihitung rata-ratanya

Contoh Penggunaan

3-Day Moving Average

SQL
1SELECT
2 date,
3 price,
4 ROUND(AVG(price) OVER (
5 ORDER BY date
6 ROWS BETWEEN 2 PRECEDING AND CURRENT ROW
7 ), 2) as moving_avg_3d
8FROM stock_prices;

Menghitung 3-day moving average harga saham.

Hasil
datepricemoving_avg_3d
2024-01-01100100.00
2024-01-02105102.50
2024-01-0398101.00

Running Average

SQL
1SELECT
2 date,
3 sales,
4 ROUND(AVG(sales) OVER (ORDER BY date), 2) as running_avg
5FROM daily_sales;

Rata-rata berjalan dari awal sampai baris saat ini.

Hasil
datesalesrunning_avg
2024-01-01100100.00
2024-01-02200150.00
2024-01-03150150.00