Window

LAG

MySQLMySQL

Mengakses nilai dari baris sebelumnya dalam partition. Berguna untuk perbandingan dengan periode sebelumnya.

Tipe hasil: Same as exprDiperbarui: 7 Jan 2026

Syntax

SQL
LAG(expr [, offset [, default]]) OVER ([PARTITION BY col] ORDER BY col)

Parameter

exprexpressionwajib

Kolom atau ekspresi yang diambil nilainya

ORDER BYcolumn(s)wajib

Kolom untuk menentukan urutan

offsetintegeropsional

Jumlah baris ke belakang (default 1)

Default: 1

defaultanyopsional

Nilai jika tidak ada baris sebelumnya (default NULL)

Contoh Penggunaan

Nilai Sebelumnya

SQL
1SELECT date, revenue,
2 LAG(revenue) OVER (ORDER BY date) AS prev_revenue
3FROM daily_sales;

Mengambil revenue hari sebelumnya.

Hasil
(revenue with previous day value)

Pertumbuhan Bulanan

SQL
1SELECT month, revenue,
2 revenue - LAG(revenue) OVER (ORDER BY month) AS growth
3FROM monthly_sales;

Menghitung pertumbuhan dari bulan sebelumnya.

Hasil
(monthly revenue growth)

Dengan Default Value

SQL
1SELECT date, price,
2 LAG(price, 1, price) OVER (ORDER BY date) AS prev_price
3FROM stock_prices;

Default ke price sendiri jika tidak ada sebelumnya.

Hasil
(prices with previous, defaulting to self)