学习目标:
提升数据分析能力
- SQL经典题目练习
- 统计学知识学习
- ……
仅供日常学习打卡,欢迎交流
学习内容:
SQL经典题目——连续登陆天数
考察重点:窗口函数+聚合函数
题目类型:
① 计算连续登录n天及以上的次数
② 计算用户连续登录的最长天数
解题方法(一)
row_number排序后根据日期与自增序号之差判断
题目:
求最大连续登录天数/连续登录n天以上的次数
【假设登陆日期可能包含具体时间(yyyy-mm-dd hh:mm:ss),有重复】
方法:
(1)数据去重
-- 数据去重
Select id, substr(login_date,10) as dt
From table
Group by 1,2
(2)按id分组,日期正序排序
-- 按id分组,日期正序排序
Select id, dt, row_number()over(partition by id order by dt