0Pricing
SQL Academy · Ders

NTILE ve Cume_Dist ile Kovalara Ayırma

Satırları NTILE ile N eşit boyutlu kovaya bölün ve CUME_DIST ile PERCENT_RANK kullanarak kümülatif dağılımı hesaplayın.

NTILE ve Cume_Dist ile Kovalara Ayırma, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.

NTILE: Eşit Boyutlu Kutular

NTILE(n), sıralanmış satırları yaklaşık olarak eşit boyutlu n kutuya böler:

SELECT id, total,
       NTILE(4) OVER (ORDER BY total) AS quartile
FROM orders;
-- 1 = bottom 25%, 2 = next, 3, 4 = top 25%

Yüzdelik Kutuları

Desiller için NTILE(10), yüzdelikler için NTILE(100) kullanın:

SELECT id, score,
       NTILE(100) OVER (ORDER BY score DESC) AS percentile
FROM students;
-- percentile 1 = top 1%

PERCENT_RANK

[0, 1] aralığında kayan nokta olarak göreli sıralama:

SELECT id, score,
       PERCENT_RANK() OVER (ORDER BY score) AS pct_rank
FROM students;
-- 0 for the lowest, 1 for the highest.

CUME_DIST

Geçerli satırın değerinden küçük veya ona eşit olan satırların oranı:

SELECT id, score,
       CUME_DIST() OVER (ORDER BY score) AS cume_dist
FROM students;
-- "What share of students scored ≤ this one?"

PERCENTILE_CONT ile Yüzdelik İstatistikleri

Bir yüzdelikteki değeri hesaplayın (sürekli enterpolasyon):

SELECT
  PERCENTILE_CONT(0.5)  WITHIN GROUP (ORDER BY total) AS median,
  PERCENTILE_CONT(0.95) WITHIN GROUP (ORDER BY total) AS p95,
  PERCENTILE_CONT(0.99) WITHIN GROUP (ORDER BY total) AS p99
FROM orders;

PERCENTILE_DISC

PERCENTILE_CONT gibidir, ancak enterpolasyonla hesaplanmış bir değer yerine mevcut gerçek bir değer döndürür:

PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY total)

Bölümlerde NTILE

Kullanıcı, kategori ve benzeri her grup için ayrı kutular oluşturun:

SELECT user_id, total,
       NTILE(4) OVER (PARTITION BY user_id ORDER BY total) AS user_quartile
FROM orders;

NTILE ile Histogram

Histogram aralıkları oluşturun:

SELECT bucket, MIN(total) AS bucket_min, MAX(total) AS bucket_max, COUNT(*)
FROM (
  SELECT NTILE(10) OVER (ORDER BY total) AS bucket, total
  FROM orders
) sub
GROUP BY bucket
ORDER BY bucket;

Kutu Başına Toplama

Kutulara ayırdıktan sonra her kutu için istatistikleri hesaplayın:

SELECT user_quartile, COUNT(*) AS users, AVG(total) AS avg_total
FROM (
  SELECT user_id, NTILE(4) OVER (ORDER BY total) AS user_quartile, total
  FROM orders
) sub
GROUP BY user_quartile;

Pencere İşlevlerini Birleştirme

Zengin bir rapor için bunları tek bir sorguda birleştirin:

SELECT id, total,
       NTILE(4) OVER w     AS quartile,
       PERCENT_RANK() OVER w AS pct_rank,
       AVG(total) OVER w     AS overall_avg
FROM orders
WINDOW w AS (ORDER BY total);

NTILE Ne Zaman Yanıltır?

ORDER BY üzerindeki eşitlikler kutu boyutlarının dengesiz olmasına neden olabilir (NTILE eşitlikleri dikkate almaz). Eşitlikleri bozan bir sütun kullanın.

Özet

NTILE + PERCENT_RANK + CUME_DIST, dağılım analizinin temelini oluşturur.

  • Nicelik kutuları için NTILE
  • p50/p95/p99 istatistikleri için PERCENTILE_CONT/DISC
  • Grup başına analiz için PARTITION BY ile birleştirin

Hızlı Kontrol

Yanıt süreleri sütunundan p95 gecikmesini hesaplamanız gerekiyor. Hangi işlevi kullanırsınız?

Sıkça Sorulan Sorular

“NTILE ve Cume_Dist ile Kovalara Ayırma” dersi ücretsiz mi?

Evet — “NTILE ve Cume_Dist ile Kovalara Ayırma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.

“NTILE ve Cume_Dist ile Kovalara Ayırma” dersinde ne öğreneceğim?

Satırları NTILE ile N eşit boyutlu kovaya bölün ve CUME_DIST ile PERCENT_RANK kullanarak kümülatif dağılımı hesaplayın. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

SQL Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“NTILE ve Cume_Dist ile Kovalara Ayırma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Çerçeve Maddeleri: ROWS ve RANGE
  2. Çerçeve Pencereleriyle LAG/LEAD
  3. NTILE ve Cume_Dist ile Kovalara Ayırma
  4. Gerçek Dünya Raporlama Kalıpları
← SQL Academy Sayfasına Dön