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 medianadouble 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);Mediana de las fechas de nacimiento
PostgreSQL 17.9
SELECT PERCENTILE_DISC(0.5) WITHIN GROUP (
ORDER BY birthday
) AS median_birthday
FROM FamilyMembers;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 ...).