Diese Seite wurde mit KI-Unterstützung aus dem Englischen übersetzt. Bei Abweichungen ist die englische Version maßgeblich.
NTILE
Teilt die Partition so gleichmäßig wie möglich in N Gruppen auf und weist jeder Gruppe eine Ganzzahl zwischen 1 und N zu, in der Reihenfolge, die durch die ORDER BY-Klausel festgelegt ist, andernfalls in beliebiger Reihenfolge. Falls erforderlich, kommen die größeren Gruppen zuerst.
Syntax
SELECT NTILE(N) OVER ([PARTITION BY column] ORDER BY column [ASC|DESC])
FROM <multipartIdentifier>;
Argumente
N Eine positive Ganzzahl, die die Anzahl der Gruppen (Tiles) angibt, in die die Partition aufgeteilt wird.
PARTITION BY column
Optional. Teilt die Ergebnismenge in Partitionen auf. Die Funktion NTILE wird auf jede Partition separat angewendet.
ORDER BY column Legt die Reihenfolge fest, in der die Zeilen den Tiles zugewiesen werden.
Rückgabewert(e)
Gibt eine Ganzzahl zwischen 1 und N zurück, die angibt, zu welchem Tile (welcher Gruppe) die aktuelle Zeile gehört.
Beispiele
Mitwirkende nach Beitragsumfang in Quartile einteilen
-- Group contributors into quartiles by contribution level
SELECT
login,
contributions,
NTILE(4) OVER (ORDER BY contributions DESC) as contribution_quartile,
CASE NTILE(4) OVER (ORDER BY contributions DESC)
WHEN 1 THEN 'Top Contributors'
WHEN 2 THEN 'Active Contributors'
WHEN 3 THEN 'Moderate Contributors'
WHEN 4 THEN 'Occasional Contributors'
END as contributor_tier
FROM github.repos.contributors
WHERE owner = 'stackql'
AND repo = 'stackql';
Verwenden Sie NTILE, um Segmente oder Stufen in Ihren Daten zu bilden. Typische Anwendungsfälle sind die Einteilung von Daten in Quartile (N=4), Dezile (N=10) oder Perzentile (N=100).
Weitere Informationen finden Sie unter https://sqlite.org/windowfunctions.html#built-in_window_functions.