取N天 第次、7、30留存
如何设置n的变量,取1月整月 次 7 30留存
select
site `端口`,count(distinct aa.user_id) as`用户数`,
count(distinct bb.user_id) / count(distinct aa.user_id) as`次日留存率`,
count(distinct cc.user_id) / count(distinct aa.user_id) as`7日留存率`,
count(distinct dd.user_id) / count(distinct aa.user_id) as`30日留存率`,aa.dt `日期`
from
( select
distinct dt,
user_id
from 表明
where
dt='N'
) aa
left join (
select
distinct dt,
user_id,
from
表名
where
dt='N+1'
) bb on aa.user_id = bb.user_id
and aa.site = bb.site
left join (
select
distinct dt,
user_id,
from
表名
where
dt='N+7'
) cc on aa.user_id = bb.user_id
and aa.site = cc.site
left join (
select
distinct dt,
user_id,
from
表名
where
dt='N+30'
) dd on aa.user_id = dd.user_id
and aa.site = bb.site
group by
aa.dt,
aa.site