LAG ve LEAD
- SQL kursu
- İleri seviye
- Ders 16/81
- 4 dk
Ö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
-- önceki değer
SELECT date, price,
LAG(price)Örnek çözüm
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
SELECT date, price,
____(price) OVER (ORDER BY date) AS prev
FROM stocks;
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 |