目录
1. 查询有新注册用户的当天的新用户数量、新用户的第一天留存率
1. 查询有新注册用户的当天的新用户数量、新用户的第一天留存率
1.1 题目需求
从用户登录明细表(user_login_detail)中首次登录算作当天新增,第二天也登录了算作一日留存。
first_login(注册时间) | Register(新增用户数) | Retention(留存率) |
---|---|---|
2021-09-21 | 1 | 0.0 |
2021-09-22 | 1 | 0.0 |
2021-09-23 | 1 | 0.0 |
2021-09-24 | 1 | 0.0 |
2021-09-25 | 1 | 0.0 |
2021-09-26 | 1 | 0.0 |
2021-09-27 | 1 | 0.0 |
2021-10-04 | 2 | 0.5 |
2021-10-06 | 1 | 0.0 |
1.2 代码实现
hive>
-- 每个用户首次登录时间 和 第二天是否登录 并看每天新增和留存数量
select
t1.first_login,
count(t1.user_id) register,
count(t2.user_id) remain_1
from
(
select
user_id,
date_format(min(login_ts), 'yyyy-MM-dd') first_login
from
user_login_detail
group by
user_id
)t1
left join
user_login_detail t2
on
t1.user_id = t2.user_id and datediff(date_format(t2.login_ts, 'yyyy-MM-dd'), t1.fi
标签:11,0.0,09,Hive,user,SQL,login,id,2021
From: https://blog.csdn.net/qq_45115959/article/details/142313970