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

考试分数(四)

https://www.nowcoder.com/practice/502fb6e2b1ad4e56aa2e0dd90c6edf3c

SELECT 
        T1.job
        ,CASE WHEN T1.RN % 2 != 0 THEN (FLOOR(T1.RN / 2) + 1)
             ELSE FLOOR(T1.RN / 2)
             END start
        ,CASE WHEN T1.RN % 2 != 0 THEN (FLOOR(T1.RN / 2) + 1)
             ELSE (FLOOR(T1.RN / 2) + 1)
             END end
FROM 
(
    SELECT 
        T.job
        ,MAX(T.RN) RN
    FROM 
    (
        SELECT 
            *
            ,ROW_NUMBER() OVER (PARTITION BY job ORDER BY score DESC) RN 
        FROM grade
    ) T
    GROUP BY T.job
) T1
;



全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务