LAG farkı
- SQL kursu
- İleri seviye
- Ders 22/81
- 5 dk
LAG ile kullanıcı artışı hesapla
LAG farkı
Günden güne değişimi LAG ile hesaplayabilirsin. Önceki gün ile fark alırsın.
WITH dau AS (
SELECT event_date, COUNT(DISTINCT user_id) AS users
FROM events GROUP BY event_date
)
SELECT event_date, users,
users - LAG(users) OVER (ORDER BY event_date) AS growth
FROM dau;Bu sorgu günlük büyüme miktarını verir.
WITH ile dau adında geçici bir sonuç kümesi (CTE) tanımlanır; ardından gelen sorgu onu bir tablo gibi kullanır. dau kaynağından event_date, users, users - LAG(users) OVER (ORDER BY … 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 farkı — ayrıntı
LAG(users) önceki günün değerini verir. Çıkarma ile günlük değişim bulunur.
Değişimi yüzde olarak görmek için farkı önceki değere bölüp 100 ile çarparsın; bölen sıfır olabileceği için NULLIF kullanmak güvenlidir.
Uygulama LAG farkı
Günlük kullanıcı değişimini users - LAG(users) OVER (ORDER BY event_date) ile hesapla.
Başlangıç kodu
-- günlük büyüme
WITH dau AS (
SELECT event_date, COUNT(DISTINCT user_id) AS users
FROM events GROUP BY event_date
)
SELECT event_date, users,
users - LAG(users)Örnek çözüm
WITH dau AS (
SELECT event_date, COUNT(DISTINCT user_id) AS users
FROM events GROUP BY event_date
)
SELECT event_date, users,
users - LAG(users) OVER (ORDER BY event_date) AS growth
FROM dau;Beklenen çıktı
event_date users growth 2026-01-01 150 NULL 2026-01-02 180 30
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 LAG farkı: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
LAG |
önceki |
fark |
değişim |
büyüme |
artış |
zaman serisi |
gün |
2 Günlük değişim neyle hesaplanır?
- SUM ile
- LAG ile fark Doğru cevap
- COUNT ile
- AVG ile
Açıklama: LAG ile önceki günden fark alınır.
3 LAG ekle
users - ____(users) OVER (ORDER BY event_date) AS growth
users - LAG(users) OVER (ORDER BY event_date) AS growth
Açıklama: LAG(users) bir önceki günün kullanıcı sayısını verir; farkı büyümeyi gösterir.