Funkcja SQL Server NTILE

Funkcja SQL Server NTILE
W tym artykule zrozumiesz, jak pracować z funkcją ntile () na serwerze SQL. Funkcja NTILE () pozwala rozpowszechniać wiersze w uporządkowanej partycji na określone grupy numerowane.

Funkcja SQL Server ntile ()

Funkcja ntile () jest częścią funkcji SQL Server Analytics, która umożliwia przydzielenie wierszy w uporządkowanej partycji na określoną liczbę równych grup. Każda grupa jest ponumerowana od 1. Następnie funkcja przypisuje liczbę wskazującą grupę, do której pasuje wiersz.

Poniżej przedstawiono składnię funkcji:

Ntile (Integer_Expression) Over ([])

Argumenty są wyrażone, jak pokazano poniżej:

  1. Integer_Expression - określa to liczbę grup, w których partycje są podzielone.
  2. parition_by_clause - Ta klauzula dzieli wyniki ustawione na różne partycje, w których stosowana jest funkcja ntile ().
  3. order_by_clause - Ta klauzula określa kolejność, w której wartości funkcji NTILE są przydzielane do wierszy w partycji.

Funkcja zwraca typ bigint.

Przykładowe użycie

Poniższy przykład pokazuje użycie funkcji ntile () w zestawie wyników.

Załóżmy, że mamy tabelę z przykładowymi danymi, jak pokazano:

Zrzuć bazę danych, jeśli istnieje zapasy;
Utwórz zapasy bazy danych;
Użyj zapasów;
Stół zrzutu, jeśli istnieje produkty;
Utwórz produkty stołowe
(
Id Int Identity Klucz podstawowy nie null,
Product_name varchar (100),
producent varchar (50),
Ilość int nie null,
Cena int Domyślnie 0,
bit in_stock
);
Wstaw do produktów (nazwa_produktu, producent, ilość, cena, in_stock)
Wartości („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 "klasa S95B OLED 4K Smart TV - 2021 ',„ Samsung ”, 900, 1999.90, 1),
(„Odyssey Ark Quantum Mini -LED Ecran gier - 2021”, „Samsung”, 50, 2999.90, 1);

Możemy podzielić dane w tabeli na cztery grupy, jak pokazano w zapytaniu poniżej:

Wybierz nazwę_produktu, producent, cena, ntile (4) nad (zamówienie przez producenta) grupy
z produktów;

Tabela wyjściowa jest jak pokazana:

Możemy również podzielić dane na różne grupy i zastosować funkcję ntile () do każdego podziału. Na przykład pytanie poniżej dzieli dane na podstawie producenta.

Wybierz nazwę Product_name, producent, cena, ntile (1) Over (partycja według producenta zamówienia przez producenta)
z produktów;

Wynik:

Wniosek

W tym artykule nauczyłeś się podstaw pracy z funkcją NTILE () na SQL Server w celu rozpowszechniania wierszy uporządkowanej partycji na różne zestawy.