NTILEfunción de ventana - AWS Clean Rooms

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

NTILEfunción de ventana

La función de NTILE ventana divide las filas ordenadas de la partición en el número especificado de grupos clasificados del mayor tamaño posible y devuelve el grupo al que pertenece una fila determinada.

Sintaxis

NTILE (expr) OVER ( [ PARTITION BY expression_list ] [ ORDER BY order_list ] )

Argumentos

expr

La cantidad de grupos clasificados y debe dar como resultado un valor entero positivo (mayor que 0) para cada partición. El argumento expr no debe admitir valores nulos.

OVER

Una cláusula que especifica la partición y ordenamiento de ventana. La OVER cláusula no puede contener una especificación de marco de ventana.

PARTITIONPOR window_partition

Opcional. El rango de registros de cada grupo de la OVER cláusula.

ORDERMEDIANTE window_ordering

Opcional. Una expresión que ordena las filas dentro de cada partición. Si se omite la cláusula ORDER BY, el comportamiento de clasificación es el mismo.

Si ORDER BY no produce un orden único, el orden de las filas no es determinista. Para obtener más información, consulte Ordenación única de datos para funciones de ventana.

Tipo de retorno

BIGINT

Ejemplos

En el siguiente ejemplo, se clasifica en cuatro grupos de clasificación el precio pagado por los tickets de Hamlet el 26 de agosto de 2008. El conjunto de resultados es de 17 filas, divididas, casi uniformemente, entre las clasificaciones 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)