1. 计算留存
1.1 首选圈定一批用户
假设以开始日期-结束日期的新注册用户作为新用户,首先找出新用户:
select user, login_date from where login_date betweed xxx and yyy。
select
user_id,
str_to_date(login_time,'%Y/%m/%d') login_time
from user_info
group by 1,2; -- 为了去重,只取用户某个日期的一条数据,以user_id和日期分组,只取分组中的一条
1.2 提取每个用户最早登陆日期
根据user_id和login_time,增加一列first_day,此列存着每个用户最早登录时间。
SELECT --step 03 从链接表中,找出user_id、当前登陆日期、首次登陆日期
b.user_id,
b.login_time,
c.first_day
FROM
(select
user_id,
str_to_date(login_time,'%Y/%m/