NTILE

syntaks

 beskrivelse af ntile.gif følger

beskrivelse af illustrationen ntile.gif

Se også:

“analytiske funktioner” for information om syntaks, semantik og begrænsninger, herunder gyldige former for expr

formål

NTILE er en analytisk funktion. Det opdeler et ordnet datasæt i et antal spande angivet med expr og tildeler det relevante bucket-nummer til hver række. Skovlene er nummereret 1 til expr. Værdien expr skal løses til en positiv konstant for hver partition. Oracle Database forventer et heltal, og hvis expr er en noninteger-konstant, afkorter Oracle værdien til et heltal. Returværdien er NUMBER.

antallet af rækker i spande kan variere med højst 1. De resterende værdier (resten af antallet af rækker divideret med spande) fordeles en for hver spand, begyndende med spand 1.

hvis expr er større end antallet af rækker, vil et antal spande svarende til antallet af rækker blive fyldt, og de resterende spande vil være tomme.

du kan ikke bruge NTILE eller nogen anden analytisk funktion til expr. Det vil sige, du kan ikke indlejre analytiske funktioner, men du kan bruge andre indbyggede funktionsudtryk til expr.

Se også:

“om KVL-udtryk” for information om gyldige former for expr og tabel 2-10, “Implicit Type Konverteringsmatrice” for mere information om implicit konvertering

eksempler

følgende eksempel opdeler i 4 spande værdierne i kolonnen salary i tabellen oe.employees fra afdeling 100. Kolonnen salary har 6 værdier i denne afdeling, så de to ekstra værdier (resten af 6 / 4) er allokeret til spande 1 og 2, som derfor har en mere værdi end spande 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



+