Window

LEAD

SnowflakeSnowflake

Mengakses nilai dari baris selanjutnya dalam result set. Kebalikan dari LAG.

Tipe hasil: Same as expressionDiperbarui: 6 Jan 2026

Syntax

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

Parameter

expressionanywajib

Kolom atau ekspresi yang nilainya akan diambil

offsetINTEGERopsional

Berapa baris ke depan (default: 1)

Default: 1

defaultanyopsional

Nilai default jika tidak ada baris selanjutnya

Contoh Penggunaan

Melihat Event Selanjutnya

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

Menampilkan event saat ini dan event selanjutnya.

Hasil
EVENT_NAMEEVENT_DATENEXT_EVENTNEXT_EVENT_DATE
Design2024-03-10Development2024-03-20
Development2024-03-20Testing2024-03-25
Testing2024-03-25NULLNULL

Menghitung Durasi Event

SQL
1SELECT
2 event_name,
3 start_time,
4 LEAD(start_time) OVER (ORDER BY start_time) as next_start,
5 DATEDIFF('MINUTE', start_time,
6 LEAD(start_time) OVER (ORDER BY start_time)
7 ) as duration_minutes
8FROM events;

Menghitung durasi setiap event (sampai event berikutnya dimulai).

Prediksi Next Action

SQL
1SELECT
2 user_id,
3 action,
4 action_time,
5 LEAD(action, 1, 'SESSION_END') OVER (
6 PARTITION BY user_id
7 ORDER BY action_time
8 ) as next_action
9FROM user_actions;

Melihat aksi selanjutnya per user, dengan default 'SESSION_END' jika tidak ada.

Hasil
USER_IDACTIONACTION_TIMENEXT_ACTION
U001page_view10:00:00click
U001click10:01:00purchase
U001purchase10:05:00SESSION_END