最近七天连续三天登陆用户数量
分析:
- 获取最近七天活跃的用户,并对用户活跃日期进行排序
- 计算用户活跃日期与排名的差值
- 对用户及差值进行分组,统计差值个数
- 取出差值个数大于3的数据(即连续登陆三天以上的用户)
- 对数据进行去重
select
mid_id
from(
select
mid_id
from(
select
mid_id,date_sub(dt,rank) date_dif
from(
select
mid_id, dt,
rank() over(partition by mid_id order by dt) rank
from dws_uv_detail_day
where dt>=date_add('2021-03-26',-6) and dt<='2021-03-26'
) t1
) t2
group by mid_id,date_dif
having count(*) > 3
) t3
group by mid_id;