题解 | #考试分数(五)#
考试分数(五)
http://www.nowcoder.com/practice/b626ff9e2ad04789954c2132c74c0512
/* select *, rank()over(PARTITION by job order by score) FROM grade SELECT count(*) as c from grade GROUP by job */ SELECT t0.id, t0.job, t0.score, t0.r FROM (select *, rank()over(PARTITION by job order by score desc) as r FROM grade) as t0 left JOIN (SELECT count(*) as c, job from grade GROUP by job) as t1 on t0.job = t1.job WHERE t0.r = ROUND(t1.c/2) or t0.r = ROUND((t1.c+1)/2) ORDER by t0.id;
查看2道真题和解析