题解 | #最差是第几名(二)#
最差是第几名(二)
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