题解 | #分别满足两个活动的人#

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

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

易错点在于有一位用户2021年各项数据均为0,则需要用left join才能保存下来这位用户:

select uid,count(distinct date_format(submit_time,'%Y%m')) act_month_total,
count(distinct case when year(submit_time) = 2021 then date_format(submit_time,'%Y%m%d') end) act_days_2021,
count(distinct case when year(submit_time) = 2021 and flag = 1 then date_format(submit_time,'%Y%m%d') end) act_days_2021_exam,
count(distinct case when year(submit_time) = 2021 and flag = 0 then date_format(submit_time,'%Y%m%d') end) act_days_2021_question
from user_info left join
(
    select uid,submit_time,1 as flag from exam_record
    union all
    select uid,submit_time,0 as flag from practice_record
) A using(uid)
where level = 6 or level = 7
group by uid
order by 2 desc,3 desc
全部评论

相关推荐

03-05 14:55
已编辑
门头沟学院 Java
Jhin4ever:别去,杂活太多,今天让你部署一下模型,明天让你写一下LLM工作流,后天要你研究一下Agent,想微调模型都难
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务