题解 | #考试分数(四)#
考试分数(四)
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 ;