题解 | #每天的日活数及新用户占比#

每天的日活数及新用户占比

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

with idListUnion as (
    select * from (
(select uid,min(left(in_time,10)) as reg_time from tb_user_log group by uid)t1
left join (
select uid,left(in_time,10) as time from tb_user_log 
union 
select uid,left(out_time,10) as time from tb_user_log 
) t2
using(uid)
    )
)
select time,count(time),round(sum(isnewman)/count(time),2) from (
select uid,reg_time,time, if(reg_time = time,1,0) isnewman  from idListUnion
) as t1
group by time

本题难度是真的不大,主要难点在于要把每个人每天在线情况与注册时间进行一个对比,这样就知道哪些id在哪几天活跃,且注册的时间也知道,只要注册时间= 活跃时间那么就是当天新用户活跃,用1和0区分 即可,代码如上

全部评论

相关推荐

迷茫的大四🐶:干脆大厂搞个收费培训得了,这样就人均大厂了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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