CodeBlanks Logo Icon CodeBlanks

CTE özet

CTE ile günlük aktif kullanıcı hesapla

CTE özet

Günlük aktif kullanıcıları CTE ile hesaplayabilirsin. WITH ile tanımlanır.

WITH dau AS (
  SELECT event_date, COUNT(DISTINCT user_id) AS users
  FROM events
  GROUP BY event_date
)
SELECT * FROM dau;

Bu sorgu günlük aktif kullanıcı sayısı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 tüm sütunlar seçilir.

CTE özet — ayrıntı

CTE ara hesaplamayı adlandırır. COUNT(DISTINCT) her gün tekil kullanıcı sayar.

DISTINCT olmadan aynı kullanıcının gün içindeki her olayı ayrı sayılır; günlük aktif kullanıcı (DAU) için kişiyi bir kez saymak gerekir.

Uygulama CTE özet

dau CTE'si tanımla: gün ve tekil kullanıcı sayısını hesapla.

Başlangıç kodu

query.sql
-- DAU hesapla
WITH

Örnek çözüm

query.sql
WITH dau AS (
  SELECT event_date, COUNT(DISTINCT user_id) AS users
  FROM events
  GROUP BY event_date
)
SELECT * FROM dau;

Beklenen çıktı

event_date   users
2026-01-01   150
2026-01-02   180

Soru ve cevaplar

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

1 WITH ekle

Soru
____ dau AS (
  SELECT event_date, COUNT(DISTINCT user_id) AS users
  FROM events
  GROUP BY event_date
)
SELECT * FROM dau;
Cevap
WITH dau AS (
  SELECT event_date, COUNT(DISTINCT user_id) AS users
  FROM events
  GROUP BY event_date
)
SELECT * FROM dau;

Açıklama: Günlük aktif kullanıcıları önce WITH ile bir CTE'de hesaplarsın, sonra bu ada SELECT atarsın.

2 Günlük tekil kullanıcı neyle?

  • COUNT(*)
  • AVG
  • SUM
  • COUNT(DISTINCT) Doğru cevap

Açıklama: COUNT(DISTINCT user_id) tekil kullanıcı sayar.

3 CTE özet: kavramları eşleştir

Kavram Anlamı
CTE geçici tablo
COUNT DISTINCT tekil
GROUP BY grupla
günlük gün

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