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

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

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

with
    levellist as (
        select
            uid
        from
            user_info
        where
            level in (6, 7)
    )
select
    uid,
    count(distinct date_format(submit_time,"%YY-%mm")) as act_month_total,
    count(distinct if(year(submit_time) = 2021 and day(submit_time) is not null ,date_format    (submit_time,"%YY-%mm-%dd"),null)) as act_days_2021,
    count(distinct if(year(submit_time) = 2021 and day(submit_time) is not null and tag = "exam",date_format(submit_time,"%YY-%mm-%dd"),null)) as act_days_2021_exam,
    count(distinct if(year(submit_time) = 2021 and day(submit_time) is not null and tag = "practice",date_format(submit_time,"%YY-%mm-%dd"),null)) as act_days_2021_question
from(
    select uid, submit_time, tag from 
    levellist left join (
        select
            uid,
            start_time as submit_time,
            'exam' as tag
        from
            exam_record
        where
            uid in (
                select
                    *
                from
                    levellist
            )
    
union

    select
        uid,
        submit_time,
        'practice' as tag
    from
        practice_record
    where
        uid in (
            select
                *
            from
                levellist
        ) 
) as combinedlist
using(uid)
) as fianllist
group by 
uid
order by
act_month_total desc,
act_days_2021 desc

本题很烦,第一点先求出符合level在6-7的uid列表with的临时表,然后与practice_record和exam_record根据tag的不同进行一个匹配,然后与临时表进行一个左连接,这样就能求出所有uid下的所有时间

全部评论

相关推荐

有没有友友知道hr面会问什么我应该反问什么?还有如何防止hr套话啊?还有应该如果催hr推进快一点#字节#OPPO#hr面
牛客989988346号:职业规划,优缺点,为什么选择这个岗,对应聘公司产品的了解和满意度,如果让你改进公司产品你会怎么做,对ai(新技术)的了解,有无其他offer,什么时候能到岗
点赞 评论 收藏
分享
豆泥🍀:同26届,加油,我也还没找到查看图片
点赞 评论 收藏
分享
勤劳的鲸鱼在okr拆解:没有别的选择就去吧,有实习和没实习找工作是天上地下
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务