题解 | #每天的日活数及新用户占比#
每天的日活数及新用户占比
https://www.nowcoder.com/practice/dbbc9b03794a48f6b34f1131b1a903eb
# 4、统计需求字段
select
dt,
count(*) `dau`,
round(sum(flag)/count(*),2) `uv_new_ratio`
from (
#3、获取每个用户登录记录的日期和注册日期和判断该日期是不是注册日期
select
t1.uid,
dt,
t2.sign_date,
if(dt=t2.sign_date,1,0) flag
from(
# 1、处理跨天的登录和登出(只能处理相邻的两天)
select
uid,
date(in_time) dt
from tb_user_log
union
select
uid,
date(out_time) dt
from tb_user_log) t1
join
#2、获取每个用户的登录日期
(select uid,date(min(in_time)) `sign_date` from tb_user_log group by uid)t2
on t1.uid=t2.uid
)t3
group by dt