Menu
CoddyTech

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 parçalara bölerek numaralandırır. Performans iyileştirmeleri için sıklıkla kullanılır - büyük miktarda veriyi tek seferde göndermek iyi bir fikir olmayabilir, bu nedenle bu işlev her seferinde daha küçük parçalar göndermeye olanak tanır.

Örneğin:

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

Şunu döndürür:

idlevelpieces
141
241
352
462
573
673

3 parça elde ettik: 1. parçada 4. seviye, 2. parçada 5. ve 6. seviyeler, 3. parçada ise 7. seviye.
Satır sayısı n’ye tam bölünmediğinde NTILE, satırları mümkün olduğunca eşit dağıtır ve daha büyük gruplar önce gelir. Ö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 birden fazla satır farklı olmamasını ve fazladan satırların önce numarası daha küçük 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 görevde, kendilerine uygun bir eş bulmak isteyen yaratıklarımız var. Eşleşmelerini bulmalarına yardım etmemiz gerekiyor.

Her yaratığın sayıyla gösterilen bir tercihi vardır. İki yaratığın sayıları birbirine yeterince yakınsa iyi bir eşleşme olabilirler.

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

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