方法1-通过连续日期排名
首先我们筛选出最近七天的每日数据,属于每日设备行为,也就是说一条数据等于一次活跃
这一步对每日设备行为去重(正常情况下不写也可以,因为每日设备 行为理论上来说是已经去过重的)
然后再通过rank函数对每个日期后面都加一个数
逻辑是我们按照日期排序,那么如果是连续日期那么减去后面的数应该得到的值相等
即
6.15 1
6.16 2
6.17 3
这样每个日期减去自己的rank排名得到的都是6.14,再通过对这个减去得到的日期group by,如果count(*)为3,则三天连续
select
mid_id
from
(
select
mid_id,
date_add(dt,-rk) rk2
from
(
select
mid_id,
dt,
rank() over(partition by