Ntile

Syntax

beskrivning av ntile.gif följer

beskrivning av illustrationen ntile.gif

Se även:

”analytiska funktioner” för information om syntax, semantik och begränsningar, inklusive giltiga former av expr

syfte

NTILE är en analytisk funktion. Den delar upp en ordnad datamängd i ett antal hinkar som anges med expr och tilldelar lämpligt hinknummer till varje rad. Skoporna är numrerade 1 till expr. Värdet expr måste lösa till en positiv konstant för varje partition. Oracle Database förväntar sig ett heltal, och om expr är en icke-integrerad konstant, förkortar Oracle värdet till ett heltal. Returvärdet är NUMBER.

antalet rader i skoporna kan variera med högst 1. De återstående värdena (resten av antalet rader dividerat med hinkar) fördelas en för varje hink, börjar med hink 1.

om expr är större än antalet rader, fylls ett antal hinkar lika med antalet rader och de återstående hinkarna är tomma.

du kan inte använda NTILE eller någon annan analytisk funktion för expr. Det betyder att du inte kan bo analytiska funktioner, men du kan använda andra inbyggda funktionsuttryck för expr.

Se även:

”om SQL-uttryck” för information om giltiga former av expr och tabell 2-10, ”Implicit type Conversion Matrix” för mer information om implicit konvertering

exempel

följande exempel delar upp i 4 hinkar värdena i kolumnen salary i tabellen oe.employees från avdelning 100. Kolumnen salary har 6 värden i den här avdelningen, så de två extra värdena (resten av 6 / 4) tilldelas skopor 1 och 2, som därför har ett värde till än skopor 3 eller 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



+