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)