Yazar istatistik
- SQL kursu
- Orta seviye
- Ders 86/115
- 5 dk
CASE ve SUM ile yazar istatistik raporu yaz
Yazar istatistik
Yazar başına yazı sayısını CASE ve SUM ile hesaplayabilirsin.
SELECT author_id,
SUM(CASE WHEN status = 'published' THEN 1 ELSE 0 END) AS published
FROM posts
GROUP BY author_id;Bu sorgu her yazarın yayımlanan yazı sayısını verir.
posts kaynağından author_id, SUM(CASE WHEN status = 'published' THEN 1 ELSE … seçilir. Satırlar author_id değerine göre gruplanır; toplam fonksiyonları her grup için ayrı hesaplanır.
Yazar istatistik — ayrıntı
CASE ile 1/0 üretip SUM ile sayarsın. GROUP BY her yazarı gruplar.
Bu sorgu her yazarın yayımlanmış yazı sayısını tek satırda verir; aynı yöntemle taslak sayısını da ayrı bir sütunda hesaplayabilirsin.
Uygulama Yazar istatistik
Her yazarın yayımlanan yazı sayısını SUM(CASE WHEN status = 'published' THEN 1 ELSE 0 END) ile bul.
Başlangıç kodu
-- yazar istatistik
SELECT author_id,Örnek çözüm
SELECT author_id,
SUM(CASE WHEN status = 'published' THEN 1 ELSE 0 END) AS published
FROM posts
GROUP BY author_id;Beklenen çıktı
author_id published 1 5 2 3
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Yazar istatistik: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
SUM(CASE) |
koşullu say |
GROUP BY |
grupla |
published |
yayımlanan |
author_id |
yazar |
2 Koşullu sayım neyle?
- SUM + CASE Doğru cevap
- COUNT + WHERE
- MIN + HAVING
- AVG + GROUP
Açıklama: SUM ve CASE ile koşullu sayım yapılır.
3 SUM ekle
SELECT author_id,
____(CASE WHEN status = 'published' THEN 1 ELSE 0 END) AS published
FROM posts
GROUP BY author_id;
SELECT author_id,
SUM(CASE WHEN status = 'published' THEN 1 ELSE 0 END) AS published
FROM posts
GROUP BY author_id;
Açıklama: CASE yayımlanmış yazılara 1 verir; SUM her yazar için yayımlanmış yazı sayısını bulur.