hive-sql 连续登录五天的用户

sql 复制代码
with tmp as (
          select '梁牧泽' as uid, '2023-03-03' as `dt` union all
          select '梁牧泽' as uid, '2023-03-04' as `dt` union all
          select '梁牧泽' as uid, '2023-03-05' as `dt` union all
          select '梁牧泽' as uid, '2023-03-07' as `dt` union all
          select '梁牧泽' as uid, '2023-03-08' as `dt` union all
          select '梁牧泽' as uid, '2023-03-09' as `dt` union all
          select '梁牧泽' as uid, '2023-03-10' as `dt` union all
          select '梁牧泽' as uid, '2023-03-11' as `dt` union all
          select '梁牧泽' as uid, '2023-03-12' as `dt` union all
          select '夏初' as uid, '2023-03-10' as `dt` union all
          select '夏初' as uid, '2023-03-10' as `dt` union all
          select '夏初' as uid, '2023-03-11' as `dt` union all
          select '夏初' as uid, '2023-03-12' as `dt` union all
          select '夏初' as uid, '2023-03-13' as `dt` union all
          select '夏初' as uid, '2023-03-14' as `dt` union all
          select '夏初' as uid, '2023-03-15' as `dt`
) 
select 
uid,
dt,
follow_5_dt
from 
(select uid,dt
,last_value(dt) over(partition by uid order by dt asc rows between current row and 4 following) as follow_5_dt
,datediff(last_value(dt) over(partition by uid order by dt asc rows between current row and 4 following),dt) as diff_day
from tmp ) t where diff_day=4

结果:

相关推荐
山峰哥13 小时前
数据库性能救星:Explain执行计划深度拆解
服务器·开发语言·数据库·sql·启发式算法
han_hanker15 小时前
sql语法 DECODE, CASE ... WHEN
数据库·sql·oracle
z落落16 小时前
StudentInfo表 分页、增删改 存储过程+C# WinForm 存储过程实现分页和增删改查
数据库·sql·mysql
涛声依旧3931619 小时前
运维项目:InnoAI SQL 助手
运维·数据库·sql
脑子进水养啥鱼?20 小时前
where id > ‘5‘ 的查询 sql 查不到 id = ‘10‘ 的数据?
数据库·sql·postgresql
l1t21 小时前
PostgreSQL 11–18 中的 SQL 改进:个人精选-1
数据库·sql·postgresql
eam05112321 小时前
简易AI SQL助手搭建方式
数据库·人工智能·sql
sevenll071 天前
SqlKit - 覆盖 50+ 数据库的 AI 智能体 SQL 桌面客户端
数据库·人工智能·sql·智能体
音视频工程实战2 天前
PromptQL 新手入门与实战指南
数据库·sql·算法