求连续问题的拉链方法

alt

-- 通用解
select tmp.user_id, min(tmp.login_date) as start_date, max(tmp.login_date) as end_date
  from (select a.user_id,
               a.login_date,
               row_number() over(partition by a.user_id order by a.login_date) as rn,
               a.login_date - row_number() over(partition by a.user_id order by a.login_date) as r
          from ods.t_zipper a
         where a.user_id = 'sunny'
          ) tmp
 group by tmp.user_id,tmp.r
 order by 2
 /*
 这确实是最优解了,你们能看明白吗?
 */

alt

全部评论

相关推荐

复制粘贴骂ai!
聪明的加菲猫又在摸鱼:我写论文也是这样,不断教育ai
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务