Window

LEAD

DuckDBDuckDB

Mengakses nilai dari baris berikutnya dalam partisi hasil. Kebalikan dari LAG.

Tipe hasil: Sama dengan tipe expressionDiperbarui: 6 Jan 2026

Syntax

SQL
LEAD(expression [, offset [, default]]) OVER ([PARTITION BY col] ORDER BY col)

Parameter

expressionanywajib

Kolom atau ekspresi yang nilainya akan diambil dari baris berikutnya

ORDER BYclausewajib

Menentukan urutan untuk menentukan 'berikutnya'

offsetINTEGERopsional

Jumlah baris ke depan (default: 1)

Default: 1

defaultsame as expressionopsional

Nilai default jika tidak ada baris berikutnya

PARTITION BYclauseopsional

Opsional. Membagi hasil menjadi partisi

Contoh Penggunaan

Melihat Nilai Berikutnya

SQL
1SELECT
2 date,
3 event_name,
4 LEAD(event_name) OVER (ORDER BY date) as next_event,
5 LEAD(date) OVER (ORDER BY date) as next_event_date
6FROM events;

Melihat event berikutnya untuk setiap baris.

Hasil
dateevent_namenext_eventnext_event_date
2024-01-01LaunchSale2024-01-15
2024-01-15SaleUpdate2024-02-01
2024-02-01UpdateNULLNULL

Menghitung Durasi Session

SQL
1SELECT
2 user_id,
3 event_time,
4 event_type,
5 LEAD(event_time) OVER (PARTITION BY user_id ORDER BY event_time) - event_time as time_to_next
6FROM user_events;

Menghitung waktu antara event per user.

Gap Analysis

SQL
1SELECT
2 order_id,
3 order_date,
4 LEAD(order_date) OVER (PARTITION BY customer_id ORDER BY order_date) as next_order_date,
5 DATE_DIFF('day', order_date,
6 LEAD(order_date) OVER (PARTITION BY customer_id ORDER BY order_date)) as days_to_next_order
7FROM orders;

Menganalisis gap antara order per customer.