我是靠谱客的博主 心灵美大地,这篇文章主要介绍SQL解决连续n天登录问题,现在分享给大家,希望可以做个参考。

面试中经常会遇到使用SQL解决连续N天问题,此类问题最关键的点在于如何找到“连续”的规律;

示例:已有一张用户登录日期表,表中有用户ID和登录日期,找出连续3天登录的所有用户ID。

用户ID登录日期
100120210101
100120210102
100120210103
100220210101
100220210102
100220210104
100320210101

方法一:
使用登录日期与用户ID分组排名的差值相等规律,如果用户登录日期连续,则登录日期与排名的差值相等。

用户ID登录日期排序日期差
100120210101120210100
100120210102220210100
100120210103320210100
100220210101120210100
100220210102220210100
100220210104320210101
100320210101120210100

将连续问题转换为按用户分组统计日期差个数,代码如下:
在这里插入图片描述

结果如下图:
在这里插入图片描述

最后

以上就是心灵美大地最近收集整理的关于SQL解决连续n天登录问题的全部内容,更多相关SQL解决连续n天登录问题内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(134)

评论列表共有 0 条评论

立即
投稿
返回
顶部