我是靠谱客的博主 心灵美大地,最近开发中收集的这篇文章主要介绍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天登录问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部