Window
Snowflake
LEAD
Mengakses nilai dari baris selanjutnya dalam result set. Kebalikan dari LAG.
Tipe hasil:
Same as expressionDiperbarui: 6 Jan 2026Syntax
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
1 SELECT 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 6 FROM events;
Menampilkan event saat ini dan event selanjutnya.
Hasil
| EVENT_NAME | EVENT_DATE | NEXT_EVENT | NEXT_EVENT_DATE |
|---|---|---|---|
| Design | 2024-03-10 | Development | 2024-03-20 |
| Development | 2024-03-20 | Testing | 2024-03-25 |
| Testing | 2024-03-25 | NULL | NULL |
Menghitung Durasi Event
SQL
1 SELECT 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 8 FROM events;
Menghitung durasi setiap event (sampai event berikutnya dimulai).
Prediksi Next Action
SQL
1 SELECT 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 9 FROM user_actions;
Melihat aksi selanjutnya per user, dengan default 'SESSION_END' jika tidak ada.
Hasil
| USER_ID | ACTION | ACTION_TIME | NEXT_ACTION |
|---|---|---|---|
| U001 | page_view | 10:00:00 | click |
| U001 | click | 10:01:00 | purchase |
| U001 | purchase | 10:05:00 | SESSION_END |