我有log_event一張桌子,里面有一張桌子,如下所示:
user_id|event_date_time| event
------------------------------
7494212|1535308430 | Opened app
7494212|1535308433 | Closed app
1475185|1535308444 | Registered
6946725|1535308475 | Opened app
6946725|1535308476 | Made a purchase
6946725|1535308477 | closed app
Create table log_event (
user_id int,
event_date_time bigint,
event varchar(70)
);
INSERT INTO log_event Values( 7494212,1535308430,'Opened app');
INSERT INTO log_event Values( 7494212,1535308433,'Closed app');
INSERT INTO log_event Values( 1475185,1535308444,'Registered');
INSERT INTO log_event Values( 6946725,1535308475,'Opened app');
INSERT INTO log_event Values( 6946725,1535308476,'Made a purchase');
INSERT INTO log_event Values( 6946725,1535308477,'closed app');
資料庫<>小提琴
我想要 18 年 8 月的每日用戶留存率(第 1 天)。
第 1 天留存:在第 0 天注冊然后在第 1 天打開應用的用戶。
例如:簡而言之,在 2018 年 8 月 15 日注冊并在 2018 年 8 月 16 日打開應用程式的用戶
uj5u.com熱心網友回復:
您可以join在注冊日期打開應用程式的所有用戶實體,在日期差異為一天時保留結果:
with to_dt(id, t, e) as (
select l.user_id, date_format(from_unixtime(l.event_date_time), '%Y-%m-%d %H:%i:%s'), l.event
)
select l.id from to_dt l
join to_dt l1 on l1.e = 'Registered' and add_date(l1.t, interval 1 day) = l.t where l.e = 'Opened app'
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/366223.html
