SQL面试题——间隔连续问题

时间:2024-11-17 16:12:51

间隔连续问题

某游戏公司记录的用户每日登录数据如下

+----+----------+
|  id|      date|
+----+----------+
|1001|2021-12-12|
|1001|2021-12-13|
|1001|2021-12-14|
|1001|2021-12-16|
|1001|2021-12-19|
|1001|2021-12-20|
|1002|2021-12-12|
|1002|2021-12-16|
|1002|2021-12-17|
+----+----------+

计算每个用户最大的连续登录天数,可以间隔一天。解释:如果一个用户在 1,3,5,6 登录游戏,则视为连续 6 天登录。

分析

前面我们计算过最大连续登陆和连续出现的问题,可以参考前面的文章

SQL面试题——最大连续登陆问题

SQL面试题——球员连续四次得分

这两个问题的相同点都在与构造连续标志,最大连续登陆的标志是日期差,日期差相同的则视为连续登陆,