题解 | 查询连续登陆的用户

查询连续登陆的用户

https://www.nowcoder.com/practice/9944210610ec417e94140ac09512a3f5

with tmp_data as (
-- 第一步,求各用户,登录的各时间
select a.user_id,date(log_time) as log_time
from login_tb a
inner join register_tb b on a.user_id=b.user_id
)
,tmp_data2 as (
-- 第二步,计算每个用户连续登录天数的排序
select user_id,log_time,row_number()over(partition by log_time order by log_time) as rn
from tmp_data
)
,tmp_data3 as (
-- 第三步,计算每个用户连续登录天数
select user_id,log_time,date_sub(log_time,INTERVAL rn day) as sub_date
from tmp_data2
)
select user_id -- ,count(sub_date) as cs
from tmp_data3
group by user_id -- ,sub_date
having count(1)>2
order by user_id asc

还得是我这种正规军

全部评论

相关推荐

牛客28967172...:跟着卡子哥才是正道,灵茶属实不太行
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务