我是先学习了这位大神留存率的写法,然后我自己完善了一下。@阿柯@
首先声明一下留存的概念
- 次日留存:1月1日注册的新用户,在1月2日登陆了app。即登陆日期 - 注册日期 = 1天。
- 3日留存:1月1日注册的新用户,在1月3日登陆了app。即登陆日期 - 注册日期 = 2天。
- 7日留存:1月1日注册的新用户,在1月8日登陆了app。即登陆日期 - 注册日期 = 6天。
- 但是目前不同公司对留存的定义不太一样,所以以具体的规则为准,这里只是为了方便大家理解。
表user_infor,包含user_id(用户ID)和reg_time(注册日期)的字段。
用户ID | 注册时间 |
---|---|
user_id | reg_time |
表login_log,包含user_id(用户ID)和login_time(登录时间)
用户ID | 登录时间 |
---|---|
user_id | login_time |
2张表的时间都是datetime类型 YYYY-MM-DD HH:MM:SS
首先在navicate中新建2张表,建表是从大神那里复制过来的。
-- 用户注册表
create table user_info(user_id varchar(10) primary key,reg_time datetime);
insert into user_info values
('u_01','2020-01-01 09:15:00'),
('u_02','2020-01-01 00:04:00'),
('u_03','2020-01-01 22:16:00'),
('u_04','2020-01-01 20:32:00'),
('u_05','2020-01-01 13:59:00'),
('u_06','2020-01-01 21:28:00'),
('u_07','2020-01-01 14:03:00'),
('u_08','2020-01-01 11:00:00'),
('u_09','2020-01-01 23:57:00'),
('u_10','2020-01-01 04:46:00'),
('u_11','2020-01-02 14:21:00'),
('u_12','2020-01-02 11:15:00'),
('u_13','2020-01-02 07:26:00'),
('u_14','2020-01-02 10:34:00'),
('u_15','2