Window

LAG

MySQLMySQL

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

Tipe hasil: Same as exprDiperbarui: 16 Mei 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)

Pertanyaan Umum tentang LAG

Apa itu fungsi LAG di MySQL?
Mengakses nilai dari baris sebelumnya dalam partition. Berguna untuk perbandingan dengan periode sebelumnya. Di MySQL, fungsi LAG termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan LAG di MySQL?
Gunakan sintaks berikut: LAG(expr [, offset [, default]]) OVER ([PARTITION BY col] ORDER BY col). Pastikan argumen yang dimasukkan sudah sesuai dengan tipe data yang diharapkan.
Apa nilai yang dikembalikan oleh fungsi LAG?
Fungsi LAG mengembalikan nilai bertipe Same as expr. Pastikan tipe data hasil sudah sesuai dengan kebutuhan query atau formula kamu. Jika input mengandung nilai NULL, perilaku fungsi dapat berbeda — selalu periksa dokumentasi untuk memastikan hasilnya sesuai ekspektasi.
Apa saja parameter fungsi LAG?
Fungsi ini memiliki 2 parameter wajib dan 2 parameter opsional. Parameter yang digunakan: expr (expression, wajib): Kolom atau ekspresi yang diambil nilainya; offset (integer, opsional): Jumlah baris ke belakang (default 1); default (any, opsional): Nilai jika tidak ada baris sebelumnya (default NULL); ORDER BY (column(s), wajib): Kolom untuk menentukan urutan.