数据格式
基础问题
问题: 用户连续登陆的最大天数
解题思路
- 先按照用户(uid)分组,按照日期升序排列获取新列 row_num
- 按照第一步的排序结果,将每个日期减去(date_sub)排序结果row_num获取date2列
- 聚合uid,date1 列,求每个uid出现次数,然后获取每个uid最大连续
分步解析
第一步
create table login1_tmp1
select
uid,
date1,
row_number() over(partition by uid order by date1 asc ) row_num
from login1
第二步
select
t1.uid uid,
date_sub(t1