Syntaks
Beskrivelse av illustrasjonen ntile.gif
Se Også:
«Analytiske Funksjoner» for informasjon om syntaks, semantikk og begrensninger, inkludert gyldige former for expr
Formål
NTILE
er en analytisk funksjon. Den deler et bestilt datasett i et antall skuffer angitt med expr
og tilordner riktig bøttenummer til hver rad. Skuffene er nummerert 1 til expr
. Verdien expr
må løses til en positiv konstant for hver partisjon. Oracle Database forventer et heltall, og hvis expr
er en ikke-integer konstant, avkorter Oracle verdien til et heltall. Returverdien er NUMBER
.
antall rader i skuffene kan variere med maksimalt 1. Resten verdier (resten av antall rader dividert med bøtter) fordeles en for hver bøtte, starter med bøtte 1.
hvis expr
er større enn antall rader, fylles et antall skuffer som er lik antall rader, og de resterende skuffene vil være tomme.
du kan ikke bruke NTILE
eller noen annen analytisk funksjon for expr
. Det vil si at du ikke kan nest analytiske funksjoner, men du kan bruke andre innebygde funksjonsuttrykk for expr
.
Se Også:
«om SQL-Uttrykk» for informasjon om gyldige former for expr
Og Tabell 2-10, «Implicit Type Conversion Matrix» For mer informasjon om implicit conversion
Eksempler
følgende eksempel deler inn i 4 bøtter verdiene i kolonnen salary
i tabellen oe.employees
Fra Avdeling 100. Kolonnen salary
har 6 verdier i denne avdelingen, så de to ekstra verdiene (resten av 6 / 4) er allokert til skuffer 1 og 2, som derfor har en mer verdi enn skuffer 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