CodeBlanks Logo Icon CodeBlanks

CASE ile pivot

CASE ve aggregate ile pivot yapmayı öğrenirsin.

CASE ile pivot

CASE ve SUM ile pivot yapılır. Her kategori bir sütun olur.

SELECT
  SUM(CASE WHEN category = 'Kitap' THEN amount ELSE 0 END) AS Kitap,
  SUM(CASE WHEN category = 'Elektronik' THEN amount ELSE 0 END) AS Elektronik
FROM sales;

Örnekte: iki kategori için iki sütun.

sales kaynağından SUM(CASE WHEN category = 'Kitap' THEN amount ELSE 0 END) … seçilir.

CASE ile pivot — ayrıntı

CASE ile kategoriye göre değer üret, SUM ile topla. Her kategori ayrı sütun olur.

Eşleşmeyen satırlar için ELSE 0 yazmak önemlidir; ELSE yazmazsan CASE NULL döner ve SUM yine çalışsa da COUNT gibi fonksiyonlar yanlış sonuç verebilir.

Uygulama CASE ile pivot

SUM(CASE WHEN category = 'Kitap' THEN amount ELSE 0 END) ile Kitap sütunu üret.

Başlangıç kodu

query.sql
-- case ile pivot
SELECT
  SUM(

Örnek çözüm

query.sql
SELECT
  SUM(CASE WHEN category = 'Kitap' THEN amount ELSE 0 END) AS Kitap,
  SUM(CASE WHEN category = 'Elektronik' THEN amount ELSE 0 END) AS Elektronik
FROM sales;

Beklenen çıktı

Kitap
200

Soru ve cevaplar

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

1 SUM ekle

Soru
SELECT
  ____(CASE WHEN category = 'Kitap' THEN amount ELSE 0 END) AS Kitap
FROM sales;
Cevap
SELECT
  SUM(CASE WHEN category = 'Kitap' THEN amount ELSE 0 END) AS Kitap
FROM sales;

Açıklama: CASE yalnızca eşleşen satırda tutarı, diğerlerinde 0 verir; SUM bunları toplayıp sütunu oluşturur.

2 CASE ile pivot'ta ne toplanır?

  • CASE sonucu Doğru cevap
  • Tüm satırlar
  • İndeks
  • Sütun adı

Açıklama: CASE sonucu SUM ile toplanır.

3 CASE ile pivot: kavramları eşleştir

Kavram Anlamı
CASE koşul
SUM topla
kategori sütun
pivot çevir

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