Menu
Coddy logo textTech

NTILE Fonksiyonu

Coddy'nin SQL Journey'sinin Temeller bölümünün bir parçası. Ders 67 / 72.

NTILE(n), satırları yaklaşık olarak eşit n parçaya bölerek numaralandırır. Performans iyileştirmeleri için sıklıkla kullanılır; büyük miktarlarda veriyi tek seferde göndermek iyi bir fikir olmayabilir, bu nedenle bu işlev daha küçük parçaların bir seferde gönderilmesini sağlar.

Örneğin:

idlevel
14
24
35
46
57
67
SELECT id, level, NTILE(3) OVER (ORDER BY level) as pieces
from table1

Bu şunu döndürecektir:

idlevelpieces
141
241
352
462
573
673

3 parça elde ettik: 1. parçada 4. seviye, 2. parçada 5. ve 6. seviyeler ve 3. parçada 7. seviye.
Satır sayısı n'ye tam olarak bölünemediğinde NTILE, satırları mümkün olduğunca eşit dağıtır ve daha büyük gruplar önce görünür. Örneğin, 9 satırınız ve NTILE(4) varsa dağılım şöyle olur:

  • Grup 1: 3 satır
  • Grup 2: 2 satır
  • Grup 3: 2 satır
  • Grup 4: 2 satır

Bu, hiçbir grubun diğer herhangi bir gruptan bir satırdan fazla farklı olmamasını ve fazladan satırların önce daha düşük numaralı gruplara dağıtılmasını sağlar.

challenge icon

Görev

Kolay

Kullanılabilir tablolar ve sütunlar:

  • creatures: creature_name, preference, has_legs ('YES' veya 'NO' içerir)

Bu meydan okumada, kendilerine uygun bir eş bulmak isteyen yaratıklarımız var. Eşlerini bulmalarına yardımcı olmamız gerekiyor.

Her yaratığın bir sayıyla temsil edilen bir tercihi vardır. Her iki yaratığın da birbirine yeterince yakın sayıları varsa, iyi bir eşleşme olabilirler.

Yaratıkları, tercih değerlerine göre 3 gruba ayırın; ancak yalnızca bacakları olan yaratıkları (has_legs = 'YES' koşuluyla) dikkate alın. creature_name, preference ve group_number (1, 2 veya 3) değerlerini döndürün. Sonuçları artan sırada preference'a göre sıralayın.

Kendin dene

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: SQL playground