Referencia de funciones

PERCENTILE_DISC

Devuelve un percentil, es decir, el primer valor del grupo en el que la proporción acumulada de valores alcanza la indicada.

PostgreSQL 17.9
PERCENTILE_DISC(fraction) WITHIN GROUP (ORDER BY expression)
fraction
Proporción de 0 a 1, por ejemplo 0.5 para la mediana
double precision
expression
Expresión de un tipo ordenable: número, cadena o fecha

Valor devuelto

Valor del tipo de expression; con un conjunto vacío, NULL

Ejemplos

PERCENTILE_CONT y PERCENTILE_DISC

PostgreSQL 17.9
SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (
		ORDER BY x
	) AS cont,
	PERCENTILE_DISC(0.5) WITHIN GROUP (
		ORDER BY x
	) AS disc
FROM (
		VALUES (1),
			(2),
			(3),
			(10)
	) AS t(x);
contdisc
2.52

Mediana de las fechas de nacimiento

PostgreSQL 17.9
SELECT PERCENTILE_DISC(0.5) WITHIN GROUP (
		ORDER BY birthday
	) AS median_birthday
FROM FamilyMembers;
median_birthday
1968-09-06

Detalles

A diferencia de PERCENTILE_CONT, la función siempre devuelve uno de los valores del conjunto, por eso también funciona con fechas y cadenas. La expresión va en WITHIN GROUP (ORDER BY ...).

Véase también