Window
MySQL
LAG
Mengakses nilai dari baris sebelumnya dalam partition. Berguna untuk perbandingan dengan periode sebelumnya.
Tipe hasil:
Same as exprDiperbarui: 7 Jan 2026Syntax
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
1 SELECT date, revenue, 2 LAG(revenue) OVER (ORDER BY date) AS prev_revenue 3 FROM daily_sales;
Mengambil revenue hari sebelumnya.
Hasil
(revenue with previous day value)
Pertumbuhan Bulanan
SQL
1 SELECT month, revenue, 2 revenue - LAG(revenue) OVER (ORDER BY month) AS growth 3 FROM monthly_sales;
Menghitung pertumbuhan dari bulan sebelumnya.
Hasil
(monthly revenue growth)
Dengan Default Value
SQL
1 SELECT date, price, 2 LAG(price, 1, price) OVER (ORDER BY date) AS prev_price 3 FROM stock_prices;
Default ke price sendiri jika tidak ada sebelumnya.
Hasil
(prices with previous, defaulting to self)