Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

SQL Lanjutan

Pelajaran 16 dari 18

Window function

Membandingkan dengan baris sebelumnya: LAG dan LEAD

Setelah pelajaran ini kamu bisa menghitung selisih sebuah baris dengan baris sebelum atau sesudahnya.

±13 menitDiperiksa 27 Sep 2026

Materi

LAG(kolom) mengambil nilai kolom itu dari baris sebelumnya, dan LEAD(kolom) dari baris sesudahnya, menurut urutan yang ditulis di ORDER BY di dalam OVER. Keduanya menjawab pertanyaan yang membandingkan sebuah baris dengan tetangganya: naik atau turunkah suhu hari ini dari kemarin, berapa kenaikan omzet bulan ini dari bulan lalu, atau kapan kunjungan berikutnya seorang pelanggan. Tanpa LAG, pertanyaan semacam itu membutuhkan tabel yang digabungkan dengan dirinya sendiri beserta syarat tanggal yang rumit.

SELECT kota, tanggal, derajat,
       derajat - LAG(derajat) OVER (PARTITION BY kota ORDER BY tanggal) AS perubahan
FROM suhu_harian;

Baris pertama tidak punya baris sebelumnya, jadi LAG mengembalikan NULL di sana, dan selisih apa pun dengan NULL ikut menjadi NULL. Bentuk lengkapnya LAG(kolom, jarak, pengganti): jarak menyatakan berapa baris ke belakang dengan bawaan 1, dan pengganti dikembalikan bila baris itu tidak ada. LEAD menerima argumen yang sama ke arah depan, sehingga LEAD(tanggal, 1, 'tidak ada') menulis teks itu pada baris terakhir. Bersama PARTITION BY, tetangga dicari di dalam kelompok saja: pada contoh di atas, suhu Bandung tidak pernah dibandingkan dengan suhu Medan.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke

Tampilkan 4 lagi

Sebagian materi kelas ini diadaptasi dari Software Carpentry — Databases and SQL (sql-novice-survey) (CC-BY-4.0), Data Carpentry — SQL for Ecology (CC-BY-4.0), Kaggle learntools — Intro to SQL dan Advanced SQL (Apache-2.0), NUKnightLab — SQL Murder Mystery (CC-BY-SA-4.0).