PARTITION BY
- SQL kursu
- İleri seviye
- Ders 17/81
- 4 dk
Gruplar içinde window hesabı yapmayı öğrenirsin.
PARTITION BY
PARTITION BY pencereyi gruplara böler. Her grup içinde ayrı hesaplama yapılır.
SELECT name, category, price,
RANK() OVER (PARTITION BY category ORDER BY price DESC) AS rk
FROM products;Örnekte: her kategori içinde ayrı sıralama.
products kaynağından name, category, price, RANK() OVER (PARTITION BY category … seçilir. RANK() bir pencere fonksiyonudur: satırları daraltmadan, OVER (…) içinde tanımlanan pencereye göre her satır için ayrı değer hesaplar.
PARTITION BY — ayrıntı
PARTITION BY GROUP BY gibi daraltmaz. Her satır kendi grubunun sonucunu alır.
Örneğin OVER (PARTITION BY category ORDER BY price DESC) her kategoride en pahalı ürüne 1 numarasını verir; numaralandırma her kategoride baştan başlar.
Uygulama PARTITION BY
Her kategori içinde RANK() OVER (PARTITION BY category ORDER BY price DESC) ile sırala.
Başlangıç kodu
-- kategori içinde sırala
SELECT name, category, price,
RANK() OVER (Örnek çözüm
SELECT name, category, price,
RANK() OVER (PARTITION BY category ORDER BY price DESC) AS rk
FROM products;Beklenen çıktı
name category rk Laptop Elektronik 1 Kalem Kitap 1
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 PARTITION BY ekle
RANK() OVER (____ category ORDER BY price DESC)
RANK() OVER (PARTITION BY category ORDER BY price DESC)
Açıklama: PARTITION BY doğru cevap.
2 PARTITION BY: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
PARTITION BY |
grupla |
kategori |
bölüm |
ayrı sıralama |
grup içi |
daraltmaz |
korur |
3 PARTITION BY ne yapar?
- Gruplara böler Doğru cevap
- Satır siler
- Sıralar
- Filtreler
Açıklama: PARTITION BY pencereyi gruplara böler.