【面试题】
有一张“用户登陆记录表”,包含两个字段:用户id、日期。
【问题】查询2021年每个月,连续2天都有登陆的用户名单。
【解题步骤】
1. 连续问题的万能模板
我在 《拼多多面试题:如何找出连续出现N次的内容?》 里讲过遇到“连续问题”如何解决,并送出了一个万能模板,模板使用的是窗口函数解决连续问题。
select distinct 列1
from(
select 列1,
lead(列1,1) over(order by 序号) as 列2,
lead(列1,2) over(order by 序号) as 列3,
...
lead(列1,n-1) over(order by 列) as 列n,
from 表名