题解 | #计算每天的新用户占比#

计算每天的新用户占比

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

#构造了三个临时表
with cte as (
select *,min(login_date)over(partition by uid) as min_date
from user_login_tb ),
cte1 as(
select min_date as dt,count(distinct uid) as new_num
from cte
group by dt
),
cte2 as (
select login_date as dt,count(distinct uid) as total_user_num
from user_login_tb
group by dt
)
select dt,total_user_num,
          concat(round(ifnull(new_num/total_user_num,0)*100,1),'%') as new_user_rate
from cte2 left join cte1 using(dt)
order by dt

全部评论

相关推荐

头像
04-09 14:29
Java
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务