题解 | #考试分数(五)#

考试分数(五)

https://www.nowcoder.com/practice/b626ff9e2ad04789954c2132c74c0513

SELECT
id,
job,
score,
t_rank

FROM(
    SELECT
    *,
    DENSE_RANK() OVER(PARTITION BY job ORDER BY score DESC) AS t_rank,
    COUNT(*) OVER(PARTITION BY job) AS num

    FROM grade) AS t1

WHERE 
CASE WHEN num%2 = 0 THEN t_rank BETWEEN FLOOR((num + 1)/2) AND CEILING((num + 1)/2)
     ELSE t_rank = num/2 + 0.5
END
    
ORDER BY id

全部评论

相关推荐

03-04 19:02
云南大学 Java
Yki_:没挂,只是没人捞,该干啥干啥,等着就好了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务