CodeBlanks Logo Icon CodeBlanks

LAG ve LEAD

Önceki ve sonraki satıra erişmeyi öğrenirsin.

LAG ve LEAD

LAG önceki satırdan, LEAD sonraki satırdan değer alır. Zaman serisinde yararlıdır.

SELECT date, price,
  LAG(price) OVER (ORDER BY date) AS prev,
  LEAD(price) OVER (ORDER BY date) AS next
FROM stocks;

Bu sorgu önceki ve sonraki fiyatı verir.

stocks kaynağından date, price, LAG(price) OVER (ORDER BY date) AS prev, … seçilir. LAG() bir pencere fonksiyonudur: satırları daraltmadan, OVER (…) içinde tanımlanan pencereye göre her satır için ayrı değer hesaplar.

LAG ve LEAD — ayrıntı

LAG ve LEAD zaman serisinde değişim hesaplamak için kullanılır. Önceki satırla fark alırsın.

LAG(price) dünkü fiyatı, LEAD(price) yarınki fiyatı getirir; price - LAG(price) OVER (ORDER BY date) günlük değişimi hesaplar. İlk satırda önceki değer olmadığı için sonuç NULL olur.

Uygulama LAG ve LEAD

Her satırın önceki fiyatını LAG(price) OVER (ORDER BY date) ile bul.

Başlangıç kodu

query.sql
-- önceki değer
SELECT date, price,
  LAG(price)

Örnek çözüm

query.sql
SELECT date, price,
  LAG(price) OVER (ORDER BY date) AS prev,
  LEAD(price) OVER (ORDER BY date) AS next
FROM stocks;

Beklenen çıktı

date        price  prev
2026-01-01  100    NULL
2026-01-02  105    100

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 LAG ne yapar?

  • Sonraki satırı alır
  • Siler
  • Sayar
  • Önceki satırı alır Doğru cevap

Açıklama: LAG önceki satırdan değer alır.

2 LAG ekle

Soru
SELECT date, price,
  ____(price) OVER (ORDER BY date) AS prev
FROM stocks;
Cevap
SELECT date, price,
  LAG(price) OVER (ORDER BY date) AS prev
FROM stocks;

Açıklama: LAG bir önceki satırın değerini getirir; böylece bugünkü fiyatı dünküyle karşılaştırırsın.

3 LAG ve LEAD: kavramları eşleştir

Kavram Anlamı
LAG önceki
LEAD sonraki
zaman serisi tarih
fark değişim

İleri seviye bölümündeki tüm dersler