NTILEfunzione window - Amazon Redshift

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)