SQL求解用户连续登录天数

数据分析面试过程中,一般都逃不掉对SQL的考察,可能是笔试的形式,也可能是面试过程中面试官当场提问,当场在纸上写出,或者简单说一下逻辑。

今天,就来分享一道面试中常常被问到的一类SQL问题:连续问题

无论是什么样的场景,只要是【连续】问题,那么都有一个通用的解法,废话不多说,直接上干货。

一、【连续登录】数据说明

我们以【连续登录】业务场景为例,一般数据格式如下:

SQL求解用户连续登录天数_第1张图片

 

二、【连续问题】通用解法

1、数据去重:每个用户每天只保留一次登录记录

SQL求解用户连续登录天数_第2张图片

2. 使用row_number() over(partition by 用户id order by 登录日期) 进行排名

SQL求解用户连续登录天数_第3张图片

4. 按照用户,新日期分组求count,count大于等于7的用户即为我们要找的用户

SQL求解用户连续登录天数_第4张图片

你可能感兴趣的:(sql,数据库)