Sql ntile

Sql ntile
Funkcja SQL NTILE dzieli rzędy uporządkowanej partycji na zestaw zdefiniowanych równych części. Każdej części przypisuje się wyrażenie liczbowe od 1.

W standardowym SQL funkcja NTILE można wyrazić, jak pokazano:

Ntile (const_int_expr)

Funkcja podzieli wiersze na zdefiniowane części const_int_expr na podstawie kolejności wiersza i zwraca 1 numer części oparty na 1 wierszu.

Aby uzyskać bardziej szczegółową i jawną składnię, możemy ją wyrazić, jak pokazano:

Ntile (części)
[Partycja przez parition_Expression,…]
Zamów przez sort_Expression [ASC | Desc],…
)

Parametr części definiuje całkowitą liczbę części, w których wiersze są podzielone. Wartością musi być liczba całkowita lub zapytanie, które zwraca dodatnią liczbę całkowitą.

Partycja według klauzuli zdefiniuje wyrażenie, które oddziela wiersze na zestawy sekcji. Funkcja NTILE jest następnie stosowana do tych partycji.

Zamówienie według kolejności, w której uporządkowane są rzędy. Jest to stosowane w każdej partycji.

Sql ntile - praktyczny przykład

Aby zilustrować za pomocą funkcji NTILE, użyjmy praktycznych przykładów. Zacznij od utworzenia bazy danych do przechowywania przykładowych danych.

Utwórz bazę danych ntile_db;

Przełącz się na bazę danych i utwórz tabelę, jak pokazano:

Utwórz pracowników tabeli (
ID szeregowy klucz podstawowy,
Full_name Varchar (255),
e -mail varchar (255),
Departament Varchar (100),
data start_date,
Aktywny bool,
kategoria varchar (50)
);

NOTATKA: Powyższe zapytanie jest przewidziane dla baz danych PostgreSQL. Zapraszam do zmiany powyższego zapytania, aby pasować do pożądanego silnika bazy danych.

Po zdefiniowaniu schematu tabeli możemy kontynuować i dodać przykładowe dane. Uruchom zapytanie poniżej, aby dodać przykładowe dane.

Powyższe dodaje przykładowe dane do tabeli. Użyjemy tych danych, aby zilustrować sposób korzystania z funkcji NTILE.

Przykład 1

Użyjmy funkcji NTILE, aby podzielić powyższe dane na 3 oddzielne wiersze na podstawie kategorii.

Wybierz ID,
Full_name,
e-mail,
dział,
Data rozpoczęcia,
aktywny,
Kategoria,
ntile (3) Over (partycja według kolejności kategorii według ID ASC) jako CAT_RANK
od pracowników;

Powyższe zapytanie powinno podzielić wynik według kategorii i zastosować funkcję NTILE. Powstała tabela pokazano poniżej:

Zamknięcie

Korzystając z tego artykułu, odkryliśmy, jak robi funkcja NTILE i jak z niej korzystać. Sprawdź dokumentację silnika bazy danych, aby zbadać więcej.

Dziękuje za przeczytanie!!