题解 | #每个6/7级用户活跃情况#

每个6/7级用户活跃情况

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

select
table2.uid
,act_month_total
,act_days_2021
,act_days_2021_exam
,act_days_2021_question
from
(
    select
    uid
    ,count(distinct t1) act_month_total
    ,count(distinct if(year(t2) = 2021,t2,null)) act_days_2021
    from
    (
    select
    ui.uid uid
    ,substring(start_time,1,7) t1
    ,substring(start_time,1,10) t2
    from user_info ui left join exam_record er
    on ui.uid = er.uid
    where level > 5
    union
    select
    ui.uid uid
    ,substring(submit_time,1,7) t1
    ,substring(submit_time,1,10) t2
    from user_info ui left join practice_record pr
    on ui.uid = pr.uid
    where level > 5
    ) table1
    group by 1
) table2
left join
(
    select
    ui.uid uid
    ,count(distinct ui.uid,substring(er.start_time,1,10)) act_days_2021_exam
    ,count(distinct ui.uid,substring(pr.submit_time,1,10)) act_days_2021_question
    from user_info ui left join exam_record er
    on ui.uid = er.uid and  year(start_time) = 2021
    left join practice_record pr
    on ui.uid = pr.uid and year(pr.submit_time) = 2021
    where level >= 6
    group by ui.uid
) table3
on table2.uid = table3.uid
order by 2 desc,3 desc;

全部评论

相关推荐

03-13 14:21
已编辑
江西警察学院 前端工程师
站队站对牛:红红一大片 天都要塌了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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