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

查询连续登陆的用户

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

select user_id
from (select *,
date_sub(date(log_time),INTERVAL t1 day) t4 
from (select *,
row_number()over(partition by user_id order by log_time) t1
from login_tb 
join register_tb using(user_id)) t2) t5
group by user_id,t4
having count(t4)>=3
order by user_id

Date_sub:日期 / 时间减法运算

DATE_SUB(原始日期, INTERVAL 时间间隔 时间单位)

1.先按用户对登陆时间进行排序

2.表连接 找出新注册的用户

3.用登陆时间减去排序 得到连续登陆时间

4.连续登陆时间求总数 筛选大于等于3天的

全部评论

相关推荐

02-28 01:18
已编辑
南昌大学 后端工程师
后测速成辅导一两个月...:把开源经历放个人项目上边应该更好,就像大部分人都把实习经历放个人项目上边
点赞 评论 收藏
分享
03-04 07:14
门头沟学院 C++
后测速成辅导一两个月...:老板:都给工作机会了还想要工资,哪来这么多好事
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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