题解 | 各用户等级的不同得分表现占比

各用户等级的不同得分表现占比

https://www.nowcoder.com/practice/ebff819fd38c46db8a42dfe43ca7b33a

SELECT
  l,
  score_grade,
  ROUND(count(1) / max(sum_),3) as ratio
FROM
(
SELECT
  er.uid,
  er.score,
  er.exam_id,
  ui.`level` as l,
  
  count(1) over(PARTITION by `level`) as sum_,
CASE
    WHEN er.score >=90 THEN '优' 
    WHEN er.score >= 75 THEN'良' 
    WHEN er.score >= 60 THEN'中' 
    WHEN er.score < 60 THEN '差' 
        END AS score_grade 
      FROM
        exam_record er
        INNER JOIN user_info ui 
        on ui.uid = er.uid
    WHERE
  er.score IS NOT NULL
)t
GROUP BY l,score_grade
ORDER BY l desc,ratio desc

全部评论

相关推荐

昨天 13:54
门头沟学院 Java
被卡学历了简历挂,绷不住了...
去哪儿旅行呢:估计看你有字节实习也不会去
投递4399游戏等公司10个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
07-23 15:05
门头沟学院 Java
熊大不大:不好意思KPI数据刚刚刷新,刚刚达标
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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