SQL Server NTILE -Funktion

SQL Server NTILE -Funktion
In diesem Artikel werden Sie verstehen, wie Sie mit der NTILE () -Funktion in SQL Server arbeiten können. Mit der Funktion nTile () können Sie die Zeilen in einer geordneten Partition in bestimmte nummerierte Gruppen verteilen.

SQL Server ntile () Funktion

Die Funktion nTile () ist Teil der SQL Server -Analytics -Funktionen, mit denen Sie Zeilen in einer geordneten Partition in eine bestimmte Anzahl gleicher Gruppen zuweisen können. Jede Gruppe ist ab 1 ab 1 nummeriert. Die Funktion weist dann eine Nummer zu, die die Gruppe angibt, in die die Zeile passt.

Das Folgende repräsentiert die Funktionssyntax:

Ntile (Integer_expression) over ([])

Die Argumente werden wie unten gezeigt ausgedrückt:

  1. Integer_expression - Dies definiert die Anzahl der Gruppen, in die die Partitionen unterteilt sind.
  2. partition_by_clause - Diese Klausel unterteilt das Ergebnis in verschiedene Partitionen, bei denen die ntile () -Funktion angewendet wird.
  3. Order_by_Clause - Diese Klausel definiert die Reihenfolge, in der die NTILE -Funktionswerte den Zeilen in einer Partition zugeordnet werden.

Die Funktion gibt einen Bigint -Typ zurück.

Beispiel Verwendung

Das folgende Beispiel zeigt die Verwendung der Funktion ntile () über einen Ergebnissatz.

Angenommen, wir haben eine Tabelle mit Beispieldaten wie gezeigt:

Datenbank fallen, wenn existiert Inventar;
Datenbankinventar erstellen;
Inventar verwenden;
Tisch fallen, wenn Produkte existiert;
Tischprodukte erstellen
(
Id Int Identity Primärschlüssel nicht null,
product_name varchar (100),
Hersteller Varchar (50),
Menge int nicht null,
Preis int Standard 0,
in_stock bit
);
In Produkte einfügen (Product_Name, Hersteller, Menge, Preis, In_Stock)
Werte ("Apple iPad Air - 2022", "Apple", 100, 569.99, 1),
('Samsung Galaxy Z Flip 4 - 2022', 'Samsung', 302, 1569.00, 1),
('Sony PlayStation 5 - 2020', 'Sony', 500, 499.99, 1),
('Samsung Galaxy Watch -5 Pro - 2022', 'Samsung', 600, 209 / .99, 1),
('Apple Watch Series 6 - 2022', 'Apple', 459, 379.90, 1),
('Apple Airpods Pro - 2022', 'Apple', 200, 199.99, 1),
('55 "Klasse S95B OLED 4K Smart TV - 2021 ',' Samsung ', 900, 1999.90, 1),
('Odyssey Ark Quantum Mini -geführte gebogene Gaming -Bildschirm - 2021', 'Samsung', 50, 2999.90, 1);

Wir können die Daten in der Tabelle in vier Gruppen unterteilen, wie in der folgenden Abfrage gezeigt:

Wählen Sie Product_Name, Hersteller, Preis, ntile (4) über (Bestellung nach Hersteller) Gruppen aus
aus Produkten;

Die Ausgangstabelle ist wie gezeigt:

Wir können die Daten auch in verschiedene Gruppen partitionieren und die ntile () -Funktion auf jede Teilung anwenden. Zum Beispiel teilt die folgende Abfrage die Daten basierend auf dem Hersteller auf.

Wählen Sie Product_Name, Hersteller, Preis, ntile (1) Over (Partition nach Herstellerbestellung nach Hersteller) Gruppen aus
aus Produkten;

Ergebnis:

Abschluss

In diesem Artikel haben Sie die Grundlagen der Arbeit mit der NTILE () -Funktion in SQL Server gelernt, um Zeilen einer geordneten Partition in verschiedene Sets zu verteilen.