Referencia de funciones

CUME_DIST

Devuelve la proporción de filas de la partición de la ventana que van antes que la fila actual o junto con ella, de 0 a 1.

PostgreSQL 17.9
CUME_DIST()

Valor devuelto

Número de coma flotante (double precision) mayor que 0 y hasta 1

Ejemplos

PERCENT_RANK y CUME_DIST

PostgreSQL 17.9
SELECT unit_price,
	ROUND(
		PERCENT_RANK() OVER (
			ORDER BY unit_price
		)::numeric,
		3
	) AS pct_rank,
	ROUND(
		CUME_DIST() OVER (
			ORDER BY unit_price
		)::numeric,
		3
	) AS cume_dist
FROM Payments
ORDER BY unit_price;
unit_pricepct_rankcume_dist
70.0000.071
70.0000.071
80.0740.179
80.0740.179
80.0740.179
100.1850.214
160.2220.250
200.2590.286
590.2960.321
1000.3330.393

Proporción de pagos que no son más caros

PostgreSQL 17.9
SELECT family_member,
	unit_price,
	ROUND(
		CUME_DIST() OVER (
			PARTITION BY family_member
			ORDER BY unit_price
		)::numeric,
		2
	) AS share_not_more
FROM Payments
ORDER BY family_member,
	unit_price;
family_memberunit_priceshare_not_more
170.25
170.25
180.50
180.50
1100.63
13000.75
120000.88
1100001.00
280.14
21200.29

Detalles

Se calcula como el número de filas con un valor de ORDER BY no mayor que el actual, dividido entre el número de filas de la partición. A diferencia de PERCENT_RANK, el resultado nunca es 0 y, para la última fila, siempre es 1.

Véase también