题解 | 考试分数(四)
考试分数(四)
https://www.nowcoder.com/practice/502fb6e2b1ad4e56aa2e0dd90c6edf3c
select job
,case when count(score)%2=0 then ceiling(count(score)/2) else ceiling(count(score)/2)
end as start
,case when count(score)%2=0 then ceiling(count(score)/2+1) else ceiling(count(score)/2)
end as end
from grade
group by job
order by job;
-- 当个数为偶数时,中位数的起始位置等于个数/2,结束位置等于个数/2+1
-- 当个数为奇数时,中位数的起始位置等于向上取整(个数/2),结束位置等于向
-- 上取整(个数/2)