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

每个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
全部评论

相关推荐

牛客263158796号:我领羊一面后十天不挂也不推进 今天问hr说等前序的第一批意向发完看情况再看是否推进
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务