SQL面试题每日一题之求解用户最长连续登录天数

SQL面试题每日一题之求解用户最长连续登录天数

之后会不定期更新每日一题sql系列。

SQL面试题每日一题系列内容均来自于网络以及实际使用情况收集,如与各大厂面试题有雷同,纯属巧合。

1.题目

问题:以下为多个用户每日登录记录数据,求解每个用户最长连续登录天数。

该问题为此还会衍生出,标记处连续登录n天用户。用户连续登录中出现的所有未登录日期等。具体之后进行分析计算演示,欢迎持续关注。

2.基础数据准备

create table if not exists temp.user_login_log (
  `id` bigint comment '用户id',
  `login_date` string comment '登录日期'
) comment '用户每日登录流水'

数据预览

id login_date
1 2024-04-25
1 2024-04-26
1 2024-04-27
1 2024-04-28
1 2024-04-30
1 2024-05-01
1 2024-05-02
1 2024-05-04
1 2024-05-05
1 2024-05-06
1 2024-05-07
2 2024-04-25
2 2024-04-28
2 2024-05-01
2 2024-05-03
2 2024-05-04

3.问题分析

求解每个用户最长连续登录天数,考察的是对日期加减函数的使用以及对排序开窗函数的应用。排序开窗函数详见SQL窗口分析函数使用详解系列二之分组排序窗口函数

维度 评分
题目难度 ⭐️⭐️⭐️⭐️
题目清晰度
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲁边

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值