题解 | #每个6/7级用户活跃情况#
每个6/7级用户活跃情况
https://www.nowcoder.com/practice/a32c7c8590324c96950417c57fa6ecd1
有哪位大神帮我看看我的代码,在Navicat上看和答案一模一样啊,为什么在这里运行不出来呢?
with t1 as ( select a.uid, ifnull(count(distinct date_format(start_time, '%Y-%m')),0) act_month_exam from exam_record c right join user_info a on c.uid = a.uid where a.level between 6 and 7 group by a.uid ), # 用户试卷活跃天数2021年 t11 as ( select a.uid,ifnull(act_days_exam,0) act_days_exam from user_info a left join (select uid, count(distinct date_format(start_time, '%Y-%m-%d')) act_days_exam from exam_record where year(start_time)='2021' group by uid) m0 on a.uid=m0.uid where a.level between 6 and 7 ), # 用户题目练习活跃月份总 t2 as ( select a.uid, ifnull(count(distinct date_format(submit_time, '%Y-%m')),0) act_month_question from practice_record d right join user_info a on d.uid = a.uid where a.level between 6 and 7 group by a.uid ), # 用户题目练习活跃天数2021年 t22 as ( select a.uid,ifnull(act_days_question,0) act_days_question from user_info a left join ( select uid, count(distinct date_format(submit_time, '%Y-%m-%d')) act_days_question from practice_record where year(submit_time) ='2021' group by uid ) m0 on a.uid=m0.uid where a.level between 6 and 7), # 用户总活跃情况-月份 t3 as (select uid ,act_month_exam+act_month_question as act_month_total from (select t1.uid,act_month_exam,act_month_question from t1 left join t2 on t1.uid=t2.uid union select t2.uid,act_month_exam,act_month_question from t2 left join t1 on t1.uid=t2.uid) m1), # 用户总活跃情况-天数2021年 t4 as (select uid , act_days_exam+act_days_question as act_days_2021, act_days_exam as act_days_2021_exam, act_days_question as act_days_2021_question from (select t11.uid,act_days_exam,act_days_question from t11 left join t22 on t11.uid=t22.uid union select t22.uid,act_days_exam,act_days_question from t22 left join t11 on t11.uid=t22.uid) m2 ) # 最终表 select t3.uid, act_month_total, if (act_days_2021 is null,0,act_days_2021) act_days_2021, if (act_days_2021_exam is null,0, act_days_2021_exam) act_days_2021_exam, if ( act_days_2021_question is null,0, act_days_2021_question) act_days_2021_question from t3 left join t4 on t3.uid=t4.uid order by act_month_total desc, act_days_2021 desc#牛客bug##秋招#