Jeg tror, den enkleste metode er PERCENTILE_CONT()
eller 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;
Dette forudsætter (med rimelighed) at score
er numerisk.
Forskellen mellem PERCENTILE_CONT()
og PERCENTILE_DISC()
er, hvad der sker, når der er et lige antal værdier. Det er normalt en uvigtig overvejelse, medmindre du har en lille mængde data.