Referencia de funciones

NTILE

Divide las filas de una partición de la ventana en el número indicado de grupos de tamaño parecido y devuelve el número de grupo de la fila.

PostgreSQL 17.9
NTILE(number_of_groups)
number_of_groups
Número de grupos, entero positivo
integer

Valor devuelto

Número entero (integer) de 1 a number_of_groups

Ejemplos

Tres grupos por fecha de nacimiento

PostgreSQL 17.9
SELECT member_name,
	birthday,
	NTILE(3) OVER (
		ORDER BY birthday
	) AS age_group
FROM FamilyMembers;
member_namebirthdayage_group
Headley Quincey1960-05-131
Ernest Forrest1961-09-111
Flavia Quincey1963-02-161
Constance Forrest1968-09-062
Andie Quincey1983-06-052
Lela Quincey1985-06-072
Annie Quincey1988-04-103
Wednesday Addams2005-01-133

Cuartiles de precio de los pagos

PostgreSQL 17.9
SELECT payment_id,
	unit_price,
	NTILE(4) OVER (
		ORDER BY unit_price
	) AS price_quartile
FROM Payments;
payment_idunit_priceprice_quartile
1671
1971
1881
1581
1781
22101
26161
3202
27592
61002

Detalles

Si las filas no se pueden repartir por igual, los primeros grupos reciben una fila más: 8 filas en 3 grupos se reparten como 3, 3 y 2. Si hay más grupos que filas, cada fila va a su propio grupo.

Véase también