NTILE-Funktion
Teil des Abschnitts Grundlagen der SQL-Journey von Coddy. Lektion 67 von 72.
NTILE(n) nummeriert die Zeilen, indem sie in n annähernd gleich große Teile aufgeteilt werden. 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 nacheinander 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 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: Ebene 4 in Teil 1, Ebene 5 und Ebene 6 in Teil 2 sowie Ebene 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 die größeren 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 haben wir Kreaturen, die einen Partner finden möchten. Wir müssen ihnen helfen, ihr passendes Gegenstück zu finden.
Jede Kreatur hat eine Präferenz, die durch eine Zahl dargestellt wird. Wenn beide Kreaturen eine ausreichend ähnliche Zahl haben, könnten sie gut zusammenpassen.
Teile die Kreaturen anhand ihrer Präferenzwerte in 3 Gruppen ein, berücksichtige dabei jedoch nur Kreaturen mit Beinen (wobei 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