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

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

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

with data_f_use as (
    select uid, exam_id, score, level
    , (case
        when score >= 90 then '优'
        when score >= 75 then '良'
        when score >= 60 then '中'
        else '差'
      end) score_grade
    from exam_record left join user_info using (uid)
    where submit_time is not null
), 
    subtotal_level as (
    select level, count(uid) subtotal_l from data_f_use group by level
)
    select level, score_grade
    , round(count(1) / max(subtotal_l), 3) as ratio
    from data_f_use
    left join subtotal_level using (level)
    group by level, score_grade
    order by level desc, ratio desc

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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