syntaksi
kuvan kuvausta ntile.gif
Katso myös:
”analyyttiset funktiot”, joilla on tietoa syntaksista, semantiikasta ja rajoituksista, mukaan lukien expr
tarkoitus
NTILE
on analyyttinen funktio. Se jakaa järjestetyn tietojoukon expr
merkittyihin ämpäreihin ja antaa kullekin riville sopivan ämpärinumeron. Kauhat on numeroitu 1: stä expr
. expr
– arvon on oltava positiivinen vakio jokaiselle osiolle. Oraclen tietokanta odottaa kokonaislukua, ja jos expr
on ei-integroituva vakio, niin Oracle typistää arvon kokonaisluvuksi. Palautusarvo on NUMBER
.
ämpäreiden rivimäärä voi poiketa enintään 1. Loput arvot (loput rivien määrästä jaettuna kauhoilla) jaetaan yksi kullekin kauhalle, alkaen ämpäristä 1.
jos expr
on suurempi kuin rivien lukumäärä, täytetään rivien määrää vastaava määrä ämpäreitä ja loput kauhat ovat tyhjiä.
NTILE
tai mitään muuta analyyttistä toimintoa ei voi käyttää expr
: lle. Toisin sanoen analyyttisiä funktioita ei voi pesiä, mutta expr
: lle voi käyttää muita sisäänrakennettuja funktiolausekkeita.
Katso myös:
”tietoja SQL-lausekkeista” saadaksesi tietoa expr
kelvollisista muodoista ja taulukosta 2-10, ”implisiittisestä Konversiomatriisista” lisätietoja implisiittisestä konversiosta
esimerkit
seuraava esimerkki jakaa 4 ämpäriin salary
sarakkeen arvot oe.employees
taulukossa osasto 100. salary
sarakkeessa on tässä departementissa 6 arvoa, joten kaksi lisäarvoa (loppuosa 6 / 4) annetaan kauhoille 1 ja 2, joilla on siis yksi arvo enemmän kuin kauhoilla 3 tai 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