CodeBlanks Logo Icon CodeBlanks

LAG farkı

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

query.sql
-- 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

query.sql
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

Soru
  users - ____(users) OVER (ORDER BY event_date) AS growth
Cevap
  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.

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