题解 | #最差是第几名(二)#
最差是第几名(二)
http://www.nowcoder.com/practice/165d88474d434597bcd2af8bf72b24f1
正序和逆序的序号之差为最小值的就是中位数。
取最小值的时候,我感觉自己做得有点绕了。。。
不过一时没想到应该怎么写比较清爽,大神路过帮我看下哈。
SELECT t2.grade
FROM(
SELECT *,MIN(t.n) OVER() AS m
FROM
(
SELECT grade, ABS(SUM(number) OVER(ORDER BY grade)-SUM(number) OVER(ORDER BY grade DESC) )AS n
FROM class_grade
) AS t) AS t2
WHERE t2.n=t2.m
ORDER BY grade
