CodeBlanks Logo Icon CodeBlanks

Yazar istatistik

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

query.sql
-- yazar istatistik
SELECT author_id,

Örnek çözüm

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

Soru
SELECT author_id,
  ____(CASE WHEN status = 'published' THEN 1 ELSE 0 END) AS published
FROM posts
GROUP BY author_id;
Cevap
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.

Orta seviye bölümündeki tüm dersler