参考考试分数(四),稍微改动

考试分数(五)

http://www.nowcoder.com/practice/b626ff9e2ad04789954c2132c74c0512

  1. 在原表上新添加一列,使用窗口函数排序(观察输出结果,使用逆序desc)

    select *,row_number() over(partition by job order by score desc) as t_rank
    from grade
  2. 参考考试分数(四)的答案,取其中中位数的位置

    select job,round(count(id)/2) as 'start',round((count(id)+1)/2) as 'end'
    from grade 
    group by job 
    order by job
  3. 连接两表,最终结果

    select a.id,a.job,a.score,a.t_rank
    from (
     select *,row_number() over(partition by job order by score desc) as t_rank
     from grade)a
    inner join (
     select job,round(count(id)/2) as 'start',round((count(id)+1)/2) as 'end'
     from grade 
     group by job 
     order by job)b
    on a.job = b.job
    where a.t_rank = b.start
    or a.t_rank = b.end
    order by id
全部评论

相关推荐

05-21 15:47
门头沟学院 Java
浪漫主义的虹夏:项目有亮点吗,第一个不是纯玩具项目吗,项目亮点里类似ThreadLocal,Redis储存说难听点是花几十分钟绝大部分人都能学会,第二个轮子项目也没体现出设计和技术,想实习先沉淀,好高骛远的自嗨只会害了自己
点赞 评论 收藏
分享
06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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