szintaxis
az ábra leírása ntile.gif
Lásd még:
“analitikus függvények” A szintaxisra, szemantikára és korlátozásokra vonatkozó információkért, beleértve a expr
cél
NTILE
egy analitikus függvény. A rendezett adathalmazt expr
jelzéssel ellátott vödrökre osztja, és minden sorhoz hozzárendeli a megfelelő vödörszámot. A vödrök 1-től expr
– ig vannak számozva. A expr
értéknek minden partícióra pozitív állandóra kell oldódnia. Az Oracle Database egész számot vár, és ha a expr
nem integer állandó, akkor az Oracle egész számra csonkolja az értéket. A visszatérési érték NUMBER
.
a vödrökben lévő sorok száma legfeljebb 1-gyel különbözhet. A fennmaradó értékeket (a sorok számának fennmaradó részét vödrökkel osztva) minden vödörre egy-egy elosztjuk, kezdve az 1.vödörrel.
ha a expr
nagyobb, mint a Sorok száma, akkor a sorok számával megegyező számú vödör megtelik, a fennmaradó vödör pedig üres lesz.
a NTILE
vagy bármely más analitikai függvény nem használható a expr
számára. Ez azt jelenti, hogy nem lehet beágyazni az analitikus függvényeket, de más beépített függvénykifejezéseket is használhat a expr
számára.
Lásd még:
“az SQL-kifejezésekről” a expr
és a 2-10.táblázat érvényes formáira vonatkozó információkért, “Implicit típuskonverziós Mátrix” az implicit konverzióról szóló további információkért
példák
a következő példa 4 vödörbe osztja a salary
oszlop oe.employees
táblázat a 100. osztálytól. A salary
oszlopnak 6 értéke van ebben a részlegben, így a két extra érték (a 6 / 4 fennmaradó része) az 1.és a 2. kategóriához van hozzárendelve, amelyek így eggyel több értékkel rendelkeznek, mint a 3. vagy a 4. kategória.
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