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

查询连续登陆的用户

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

with tmp as (
    select *, row_number() over(partition by user_id order by log_time asc) as r from login_tb join register_tb using(user_id)
)

select user_id from (select user_id, date_sub(date(log_time), interval r DAY) as daygap from tmp) as t
group by user_id, daygap
having count(daygap)>= 3
order by user_id asc

模板题目,窗口函数会按照order by 排序,daygap是个日期,此外新学到了 a join b using()

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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