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:
| id | level |
| 1 | 4 |
| 2 | 4 |
| 3 | 5 |
| 4 | 6 |
| 5 | 7 |
| 6 | 7 |
SELECT id, level, NTILE(3) OVER (ORDER BY level) as pieces
from table1Dies wird Folgendes zurückgeben:
| id | level | pieces |
| 1 | 4 | 1 |
| 2 | 4 | 1 |
| 3 | 5 | 2 |
| 4 | 6 | 2 |
| 5 | 7 | 3 |
| 6 | 7 | 3 |
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.
Aufgabe
EinfachVerfü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
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Weitere Schlüsselwörter
Das IN-SchlüsselwortDas BETWEEN-SchlüsselwortDas LIKE-SchlüsselwortDas AS-SchlüsselwortRückblick – Handymodelle7Datumsangaben
Datumsangaben behandeln – Teil 1Datumsangaben behandeln – Teil 2Datumsangaben behandeln – Teil 32Bedingungen
Grundlagen der BedingungenDas Schlüsselwort ANDDas Schlüsselwort ORDas Schlüsselwort NOTMehrere kombinierte BedingungenKlammernBoolesche Werte5Arithmetische Operationen
Mathematische OperatorenMathematische SpaltenDie Modulo-OperationDie ROUND()-Funktion3Spezifisches Rückgabeformat
NULL-WerteErgebnisse sortieren Teil 1Ergebnisse sortieren Teil 2Zusammenfassung - Cyber Security FirmAnzahl der Datensätze begrenzenZusammenfassung - Vehicle Factory6Einführungsaufgaben
Wiederholung – ParlamentswahlWiederholung – Festnahme eines Straftäters durch die PolizeiWiederholung – Getränkebehälter an der BarWiederholung – Neue Spalten erstellen9Mehrere Tabellen
Grundlegender Join Teil 1Grundlegender Join Teil 2Rückblick – JoinSelf-JoinRückblick – Self-JoinUnionAbfragen vereinfachen, WITH-SchlüsselwortRückblick – WITH-AbfragenRückblick – Immobilienauftragnehmer12Fensterfunktionen Teil 2
RANK- & DENSE_RANK-FunktionenWiederholung – RANK & DENSE_RANKNTILE-FunktionAggregationsfunktionenROWS- & RANGE-KriteriumÜbe selbstständig: SQL-Playground