我认为最简单的方法是
PERCENTILE_CONT()或
PERCENTILE_DISC():
SELECt MIN(score) as min_score, PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY score) as median_score, MAX(score) max_scoreFROM result r JOIN student s ON s.id = r.student_id;
假设(合理地)
score是数字。
PERCENTILE_CONT()和之间的区别
PERCENTILE_DISC()是,当有偶数个值时会发生什么。除非您有少量数据,否则这通常是不重要的考虑因素。



