Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
NTILEfunzione window
La funzione NTILE window divide le righe ordinate nella partizione nel numero specificato di gruppi classificati della dimensione più uguale possibile e restituisce il gruppo in cui rientra una determinata riga.
Sintassi
NTILE (expr) OVER ( [ PARTITION BY expression_list ] [ ORDER BY order_list ] )
Argomenti
- expr
-
Il numero di classificazione si raggruppa e deve avere come risultato un valore intero positivo (maggiore di 0) per ogni partizione. L'argomento expr non deve essere reso null.
- OVER
-
Una clausola che specifica il partizionamento e l'ordinamento della finestra. La OVER clausola non può contenere una specifica del telaio della finestra.
- PARTITIONDI window_partition
-
Facoltativo. L'intervallo di record per ogni gruppo nella clausola. OVER
- ORDERDI window_ordering
-
Facoltativo. Un'espressione che ordina le righe all'interno di ogni partizione. Se la clausola ORDER BY viene omessa, il comportamento di classificazione è lo stesso.
Se ORDER BY non produce un ordinamento univoco, l'ordine delle righe non è deterministico. Per ulteriori informazioni, consulta Ordinamento univoco dei dati per le funzioni finestra.
Tipo restituito
BIGINT
Esempi
Il seguente esempio classifica in quattro gruppi di classificazione il prezzo pagato per i biglietti di Amleto il 26 agosto 2008. Il risultato è di 17 file, divise in modo quasi uniforme tra le classificazioni da 1 a 4:
select eventname, caldate, pricepaid, ntile(4) over(order by pricepaid desc) from sales, event, date where sales.eventid=event.eventid and event.dateid=date.dateid and eventname='Hamlet' and caldate='2008-08-26' order by 4; eventname | caldate | pricepaid | ntile -----------+------------+-----------+------- Hamlet | 2008-08-26 | 1883.00 | 1 Hamlet | 2008-08-26 | 1065.00 | 1 Hamlet | 2008-08-26 | 589.00 | 1 Hamlet | 2008-08-26 | 530.00 | 1 Hamlet | 2008-08-26 | 472.00 | 1 Hamlet | 2008-08-26 | 460.00 | 2 Hamlet | 2008-08-26 | 355.00 | 2 Hamlet | 2008-08-26 | 334.00 | 2 Hamlet | 2008-08-26 | 296.00 | 2 Hamlet | 2008-08-26 | 230.00 | 3 Hamlet | 2008-08-26 | 216.00 | 3 Hamlet | 2008-08-26 | 212.00 | 3 Hamlet | 2008-08-26 | 106.00 | 3 Hamlet | 2008-08-26 | 100.00 | 4 Hamlet | 2008-08-26 | 94.00 | 4 Hamlet | 2008-08-26 | 53.00 | 4 Hamlet | 2008-08-26 | 25.00 | 4 (17 rows)