Ik denk dat de eenvoudigste methode is PERCENTILE_CONT()
of PERCENTILE_DISC()
:
SELECT MIN(score) as min_score,
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY score) as median_score,
MAX(score) max_score
FROM result r JOIN
student s
ON s.id = r.student_id;
Dit veronderstelt (redelijkerwijs) dat score
is numeriek.
Het verschil tussen PERCENTILE_CONT()
en PERCENTILE_DISC()
is wat er gebeurt als er een even aantal waarden is. Dat is meestal een onbelangrijke overweging, tenzij je een kleine hoeveelheid gegevens hebt.