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

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

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

明确题意:

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

问题分解:

查询活跃用户表:select uid,date(in_time) dt from tb_user_log union select uid,date(out_time) dt from tb_user_log

计算用户注册时间:min(dt) over(partition by uid)

按天分组:group by dt

计算日活数:count(distinct uid)

计算日活中新用户数:sum(if(register_dt = dt, 1, 0))

计算新用户占比:new_cnt / dau

细节问题:

新用户占比保留2位小数:round(x,2)

结果按日期升序排序:order by dt

select
    dt,
    dau,
    round(new_cnt / dau, 2) uv_new_ratio
from(
select
    dt,
    count(distinct uid) dau,
    sum(if(register_dt = dt, 1, 0)) new_cnt
from(
select
    uid,
    dt,
    min(dt) over(partition by uid) register_dt
from(
select
    uid,
    date(in_time) dt
from tb_user_log
union
select
    uid,
    date(out_time) dt
from tb_user_log
) t1
) t2
group by dt
) t3
order by dt
全部评论

相关推荐

05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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