找出“连续登录至少 3 天”的用户,并给出每人最长的连续登录天数。
- 只看
event_type = 'login'的事件,其他事件类型(即使发生在中间那天)都不算登录。 - 登录日取
ts的日历日期(ts不带时区,直接取日期部分;23:59:59和次日00:00:00属于相邻的两天)。 - 同一用户同一天登录多次(包括同一秒的重复事件),只算 1 天。
- “连续”指日期逐日相差 1 天,跨月、跨年照常连续。
- 一个用户可能有多段连续登录,
longest_streak取其中最长的一段的天数。 - 只输出
longest_streak ≥ 3的用户。
输入
events(event_id, user_id, ts, event_type, page):事件流,ts为 datetime
输出
列为 user_id, longest_streak(整数),每个满足条件的用户一行,行顺序不限。