Sql ntile

Sql ntile
Die SQL -Ntile -Funktion unterteilt die Zeilen einer geordneten Partition in einen Satz definierter gleicher Teile. Jedem Teil wird ein Zahlenausdruck zugewiesen, der von 1 reicht.

In Standard -SQL kann die ntile Funktion wie gezeigt ausgedrückt werden:

Ntile (const_int_expr)

Die Funktion teilt die Zeilen basierend auf der Zeilenreihenfolge in die definierten const_int_expr-Teile ein und gibt eine 1-basierte Teilnummer zurück, die jeder Zeile zugeordnet ist.

Für mehr ausführliche und explizite Syntax können wir sie wie gezeigt ausdrücken:

Ntile (Teile) über (
[Partition von partition_expression,…]
Bestellung durch Sort_expression [ASC | Desc],…
)

Der Parameter des Teile definiert die Gesamtzahl der Teile, in die die Zeilen geteilt werden. Der Wert muss eine Ganzzahl oder eine Abfrage sein, die eine positive Ganzzahl zurückgibt.

Die Partition nach Klausel definiert den Ausdruck, der die Zeilen in Sätze von Abschnitten unterteilt. Die ntile Funktion wird dann auf diese Partitionen angewendet.

Bestellung durch wird die Reihenfolge angeben, in der die Zeilen bestellt werden. Dies wird in jeder Partition angewendet.

SQL Ntile - Praktisches Beispiel

Um die Verwendung der ntilen Funktion zu veranschaulichen, verwenden wir ein praktisches Beispiel. Erstellen Sie zunächst eine Datenbank, um die Beispieldaten zu speichern.

Datenbank erstellen ntile_db;

Wechseln Sie zur Datenbank und erstellen Sie eine Tabelle wie gezeigt:

Erstellen von Tabellenmitarbeitern (
id serielle Primärschlüssel,
full_name varchar (255),
E -Mail Varchar (255),
Abteilungsvarchar (100),
start_date Datum,
aktiver Bool,
Kategorie varchar (50)
);

NOTIZ: Die obige Abfrage wird für PostgreSQL -Datenbanken bereitgestellt. Fühlen Sie sich frei, die obige Abfrage so zu wechseln, um mit Ihrer gewünschten Datenbank -Engine übereinzustimmen.

Sobald Sie das Tabellenschema definiert haben, können wir fortfahren und Beispieldaten hinzufügen. Führen Sie die Abfrage unten aus, um Beispieldaten hinzuzufügen.

Das obige fügt der Tabelle Beispieldaten hinzu. Wir werden diese Daten verwenden, um zu veranschaulichen, wie die ntile Funktion verwendet wird.

Beispiel 1

Verwenden wir die ntile Funktion, um die obigen Daten in 3 separaten Zeilen basierend auf der Kategorie zu unterteilen.

ID auswählen,
vollständiger Name,
Email,
Abteilung,
Startdatum,
aktiv,
Kategorie,
ntile (3) over (Partition nach Kategorie Reihenfolge nach ID ASC) als Cat_Rank
von Mitarbeitern;

Die obige Abfrage sollte das Ergebnis nach der Kategorie partitionieren und die ntile Funktion anwenden. Die resultierende Tabelle ist unten dargestellt:

Schließen

Mit diesem Artikel haben wir festgestellt, wie die ntile Funktion und wie man sie benutzt. Überprüfen Sie die Dokumentation für Ihre Datenbank -Engine, um mehr zu untersuchen.

Danke fürs Lesen!!