题解 | 88#最差是第几名(二)#
最差是第几名(二)
http://www.nowcoder.com/practice/165d88474d434597bcd2af8bf72b24f1
select grade
from
(
select
grade
,(select sum(number) from class_grade) total
,sum(number) over(order by grade desc) rank1
,sum(number) over(order by grade) rank2
from class_grade
) t
where rank1>=total/2 and rank2>=total/2
order by grade思路:这里求中位数,利用了中位数是一定大于等于总数一半的。所以我们这里正序逆序对总number建立子查询,然后利用条件求出来。
sql题 文章被收录于专栏
牛客网里面的sql题,把答案和思路写下来


查看5道真题和解析