SQL 刷题/【携程】查询连续登录不少于 3 天的新注册用户
上一题下一题中等通过率 100%

【携程】查询连续登录不少于 3 天的新注册用户

WHERE 条件JOIN 连接日期函数ORDER BYDISTINCT用户行为分析留存分析面试真题

题目描述

来源:携程 SQL 面试真题

某产品需要分析 2022 年 2 月 8 日注册的新用户在后续几天的登录情况,找出连续登录不少于 3 天的用户。

数据表

register_tb 用户注册信息表

字段类型说明
user_idBIGINT用户 ID
reg_timeDATETIME注册时间
reg_portVARCHAR注册端口

login_tb 用户登录信息表

字段类型说明
log_idBIGINT登录动作 ID
user_idBIGINT用户 ID
log_timeDATETIME登录时间
log_portVARCHAR登录端口

题目要求

  • 只统计在 2022 年 2 月 8 日注册的用户。
  • 连续登录按日历日判断,相邻两个登录日期必须相差 1 天。
  • 连续登录天数不少于 3 天的用户需要输出。
  • 不要求登录端口与注册端口一致。
  • 题目保证登录表中同一用户单日最多保留一条登录记录。
  • 只输出 user_id,并按 user_id 升序排列。

期望输出列

列名说明
user_id连续登录不少于 3 天的新注册用户 ID

数据样例

当前运行环境
user_idPKBIGINTreg_timeDATETIMEreg_portVARCHAR(20)
11012022-02-08 07:23:15pc
11022022-02-08 09:12:22app
11032022-02-08 09:35:45m
11042022-02-08 09:41:01app
11052022-02-08 12:01:01app
11062022-02-08 17:22:13app
11072022-02-08 18:26:21pc
11082022-02-08 19:16:21pc
输入数据显示 8 / 9
SQL 编辑器正在保存草稿...
正在加载 SQL 编辑器...

运行你的 SQL 查询后,结果将显示在这里