题解 | #未完成试卷数大于1的有效用户#

未完成试卷数大于1的有效用户

http://www.nowcoder.com/practice/46cb7a33f7204f3ba7f6536d2fc04286

#先创建满足要求的用户id
with t1 as (
select
    tmp1.*
from(select
        uid
        ,exam_id
        ,substr(start_time,1,10) as ti
        ,count(exam_id) over(partition by uid) as cnt
        ,count(submit_time) over(partition by uid) as com_cnt
        ,count(if(submit_time is null,1,null)) over(partition by uid) as incom_cnt
    from exam_record
    where year(start_time)='2021'
    )tmp1
where tmp1.com_cnt>=1 and tmp1.incom_cnt>1 and tmp1.incom_cnt<5
)
select
    tmp1.uid
    ,max(tmp1.incom_cnt) as incomplete_cnt
    ,max(tmp1.com_cnt) as complete_cnt
    ,group_concat(distinct tmp1.tag order by tmp1.ti,tmp1.exam_id SEPARATOR ';') as detail
from(select 
        t1.*
        ,concat_ws(':',t1.ti,e.tag) as tag
    from t1 join examination_info e
    on t1.exam_id = e.exam_id
    )tmp1
group by tmp1.uid
order by incomplete_cnt desc
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 11:30
找工作7个月,投了7000封,3段世界五百强实习,才有一个offer,牛油们肯定比我强吧
码农索隆:不对不对不对,实习经历这么厉害,简历也没少投,问题出在哪呢
点赞 评论 收藏
分享
酷酷我灵儿帅:这去不去和线不线下面说实话没啥关系
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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