Saya pikir metode paling sederhana adalah PERCENTILE_CONT()
atau 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;
Ini mengasumsikan (cukup) bahwa score
adalah numerik.
Perbedaan antara PERCENTILE_CONT()
dan PERCENTILE_DISC()
adalah apa yang terjadi ketika ada sejumlah nilai genap. Itu biasanya merupakan pertimbangan yang tidak penting, kecuali jika Anda memiliki sedikit data.