SQL 刷题/【京东】允许间隔一天的最大连续登录天数
上一题下一题困难通过率 57%

【京东】允许间隔一天的最大连续登录天数

GROUP BY窗口函数日期函数DISTINCT面试真题

题目描述

来源:京东数开面试

给定一张 login_logs 表:

  • user_id: 用户ID
  • login_date: 登录日期(格式:YYYY-MM-DD)

同一用户同一天可能有多条登录记录。现在采用下面的连续规则:

  • 相邻两次登录日期相差1天,视为连续
  • 中间仅间隔1个自然日,即相邻两次登录日期相差2天,也视为连续
  • 相邻两次登录日期相差超过2天,则开启一段新的连续记录

请计算每个用户单段记录中的最大实际登录天数,按 user_id 升序排列。

期望输出列

列名说明
user_id用户ID
max_streak_days最大连续段中的实际登录天数

数据样例

当前运行环境
user_idINTEGERlogin_dateTEXT
12024-01-01
12024-01-03
12024-01-05
12024-01-08
22024-01-01
22024-01-02
22024-01-04
22024-01-06
输入数据显示 8 / 14
SQL 编辑器正在保存草稿...
正在加载 SQL 编辑器...

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