Menu
CoddyTech

NTILE-Funktion

Teil des Abschnitts Grundlagen der SQL-Journey von Coddy. Lektion 67 von 72.

NTILE(n) nummeriert die Zeilen, indem es sie in n ungefähr gleich große Teile aufteilt. Es wird häufig zur Leistungsoptimierung verwendet – große Datenmengen auf einmal zu senden, ist möglicherweise keine gute Idee, daher ermöglicht diese Funktion, kleinere Teile auf einmal zu senden.

Zum Beispiel:

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

Dies wird Folgendes zurückgeben:

idlevelpieces
141
241
352
462
573
673

Wir haben 3 Teile: Stufe 4 in Teil 1, Stufe 5 und Stufe 6 in Teil 2 und Stufe 7 in Teil 3.
Wenn die Anzahl der Zeilen nicht gleichmäßig durch n teilbar ist, verteilt NTILE die Zeilen so gleichmäßig wie möglich, wobei größere Gruppen zuerst erscheinen. Wenn du beispielsweise 9 Zeilen und NTILE(4) hast, wäre die Verteilung:

  • Gruppe 1: 3 Zeilen
  • Gruppe 2: 2 Zeilen
  • Gruppe 3: 2 Zeilen
  • Gruppe 4: 2 Zeilen

Dadurch wird sichergestellt, dass sich keine Gruppe um mehr als eine Zeile von einer anderen Gruppe unterscheidet und zusätzliche Zeilen zuerst auf die Gruppen mit den niedrigeren Nummern verteilt werden.

challenge icon

Aufgabe

Einfach

Verfügbare Tabellen und Spalten:

  • creatures: creature_name, preference, has_legs (enthält 'YES' oder 'NO')

In dieser Herausforderung gibt es Kreaturen, die einen Partner finden möchten. Wir müssen ihnen helfen, den passenden Partner zu finden.

Jede Kreatur hat eine Präferenz, die als Zahl dargestellt wird. Wenn die Zahlen beider Kreaturen nahe genug beieinanderliegen, könnten sie gut zusammenpassen.

Teile die Kreaturen anhand ihrer Präferenzwerte in 3 Gruppen ein, berücksichtige dabei aber nur Kreaturen mit Beinen (bei denen has_legs = 'YES' gilt). Gib creature_name, preference und ihre group_number (1, 2 oder 3) zurück. Sortiere die Ergebnisse nach preference in aufsteigender Reihenfolge.

Probier es selbst

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: SQL-Playground