SQL287热题-输出全班学生成绩中位数在什么等级

这个解题方法是 计算出全班总成绩记为s, 等级降序排列后对成绩累积求和记为a, 等级升序排列后对累积成绩求和记为b,

条件是a >= s/2 并且b >= s/2

条件的意思是,该成绩是中位数;

代码如下:

select grade from

(

        select grade, (select sum(number) from class_grade)total,

        sum(number) over(order by grade ASC)a,

        sum(number) over(order by grade desc)b

        from class_grade

)t1

where a >= total/2 and b >= total/2

order by grade

#笔试#
全部评论
累积求和用窗口函数法
点赞 回复 分享
发布于 03-16 13:38 上海

相关推荐

机械打工仔:第一位颇有孟德之志
点赞 评论 收藏
分享
矫健的闭门羹烹饪师又熬夜了:本人双非本,在鹅厂测开实习,你这个简历上写的这两个项目的技术栈都差不多,能够让面试官去延伸去问的八股除了redis就再没啥了,建议项目这边可以再改改,然后专业技能那块的话,感觉linux和测试工具可以分开写,毕竟不是干一件事的,反正没实习的基础上面试就深挖项目和八股,好好卷吧
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务