CTE özet
- SQL kursu
- İleri seviye
- Ders 20/81
- 5 dk
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
-- DAU hesapla
WITHÖrnek çözüm
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
____ dau AS (
SELECT event_date, COUNT(DISTINCT user_id) AS users
FROM events
GROUP BY event_date
)
SELECT * FROM dau;
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 |