NTILE

syntaxe

 popis ntile.gif následuje

popis ilustrace ntile.gif

Viz Také:

„Analytické Funkce“ pro informace o syntaxi, sémantiku, a omezení, včetně platné formy expr

Účel

NTILE analytické funkce. Rozděluje uspořádanou datovou sadu na počet kbelíků označených expr a každému řádku přiřadí příslušné číslo kbelíku. Kbelíky jsou číslovány 1 až expr. Hodnota expr musí být pro každý oddíl nastavena na kladnou konstantu. Oracle Database očekává celé číslo, a pokud expr je noninteger konstanta, pak Oracle zkrátí hodnotu na celé číslo. Návratová hodnota je NUMBER.

počet řádků ve kbelících se může lišit nejvýše o 1. Zbývající hodnoty (zbytek počtu řádků dělených kbelíky) jsou rozděleny jeden pro každý kbelík, počínaje kbelíkem 1.

pokud je expr větší než počet řádků, vyplní se počet kbelíků rovných počtu řádků a zbývající kbelíky budou prázdné.

pro expr nelze použít NTILEani jinou analytickou funkci. To znamená, že nemůžete vnořit analytické funkce, ale můžete použít jiné vestavěné funkční výrazy pro expr.

Viz Také:

„O SQL Výrazy“ pro informace o platné formy expr a Tabulka 2-10, „Implicitní Typové Konverze Matrix“ pro více informací o implicitní konverze

Příklady

následující příklad rozdělí do 4 kbelíky hodnoty v salary sloupec oe.employees tabulka z Oddělení 100. salary sloupec má 6 hodnot v tomto oddělení, tak na další dvě hodnoty (zbytek 6 / 4) jsou přiděleny kbelíky 1 a 2, které tedy mají jeden větší hodnotu než kbelíky 3 nebo 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



+