题解 | #未完成率较高的50%用户近三个月答卷情况#

未完成率较高的50%用户近三个月答卷情况

https://www.nowcoder.com/practice/3e598a2dcd854db8b1a3c48e5904fe1c

with temp as (select er.*
                   , dense_rank() over (partition by ui.uid order by month(start_time) desc ) r
              from exam_record er
                       inner join user_info ui on er.uid = ui.uid
              where ui.uid in (SELECT A.uid
                               FROM (SELECT uid,
                                            PERCENT_RANK() over ( ORDER BY count(submit_time) / count(start_time) ) rate_rk -- 对完成率进行分数排序
                                     FROM exam_record
                                     WHERE exam_id IN
                                           (SELECT exam_id FROM examination_info WHERE tag = 'SQL') -- SQL试卷
                                     GROUP BY uid) A
                               WHERE rate_rk <= 0.5 -- 查找排名低于50%的用户
                                 AND uid IN (SELECT uid FROM user_info WHERE level IN (6, 7))))
select uid
     , date_format(start_time, '%Y%m') start_month
     , count(start_time)               total_cnt
     , count(score)                    complete_cnt
from temp
where r <= 3
group by uid, start_month
order by uid, start_month;

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务