题解 | #考试分数(五)#
考试分数(五)
http://www.nowcoder.com/practice/b626ff9e2ad04789954c2132c74c0512
(
SELECT id,job,score,
row_number()over(PARTITION BY job ORDER BY score ASC ) AS rank_asc,
row_number()over(PARTITION BY job ORDER BY score DESC) AS rank_desc,
COUNT(*)over(PARTITION BY job) AS num_
FROM grade)
SELECT id,job,score,rank_desc AS t_rank
FROM new_table
WHERE rank_asc >= num_/2 AND rank_desc >= num_/2
ORDER BY id ;