NTILE

składnia

 opis ntile.gif

opis ilustracji ntile.gif

Zobacz także:

„funkcje analityczne” aby uzyskać informacje na temat składni, semantyki i ograniczeń, w tym ważnych form expr

cel

NTILE jest funkcją analityczną. Dzieli uporządkowany zestaw danych na liczbę kubełków wskazaną przez expr i przypisuje odpowiednią liczbę kubełków do każdego wiersza. Wiadra są ponumerowane od 1 do expr. Wartość expr musi uzyskać dodatnią stałą dla każdej partycji. Oracle Database oczekuje liczby całkowitej, a jeśli expr jest stałą nieintegrową, to Oracle przycina tę wartość do liczby całkowitej. Zwracana wartość to NUMBER.

liczba wierszy w wiadrach może różnić się co najwyżej o 1. Pozostałe wartości (reszta liczby wierszy podzielona przez wiadra) są rozdzielane po jednym dla każdego wiadra, zaczynając od wiadra 1.

jeśli expr jest większa niż liczba wierszy, to liczba wiader równa liczbie wierszy zostanie wypełniona, a pozostałe wiader będą puste.

nie można używać NTILEani żadnej innej funkcji analitycznej dla expr. Oznacza to, że nie można zagnieżdżać funkcji analitycznych, ale można użyć innych wbudowanych wyrażeń funkcyjnych dla expr.

Zobacz także:

„About SQL Expressions” aby uzyskać informacje na temat prawidłowych form expr i tabeli 2-10, „Implicit Type Conversion Matrix” aby uzyskać więcej informacji na temat implicit conversion

przykłady

poniższy przykład dzieli na 4 wiadra wartości w kolumnie salary tabeli oe.employees z działu 100. Kolumna salary ma 6 wartości w tym dziale, więc dwie dodatkowe wartości (Reszta z 6 / 4) są przydzielane do bucketów 1 i 2, które mają o jedną więcej wartości niż buckety 3 lub 4.

SELECT last_name, salary, NTILE(4) OVER (ORDER BY salary DESC) AS quartile FROM employees WHERE department_id = 100;LAST_NAME SALARY QUARTILE------------------------- ---------- ----------Greenberg 12000 1Faviet 9000 1Chen 8200 2Urman 7800 2Sciarra 7700 3Popp 6900 4



+