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

结果:

相关推荐
用户83071968408216 小时前
Java 告别繁琐数据统计代码!MySQL 8 窗口函数真香
java·sql·mysql
爱可生开源社区5 天前
MiniMax M2.5 的 SQL 能力令人惊艳!
sql·llm
Nyarlathotep01135 天前
事务隔离级别
sql·mysql
Nyarlathotep01135 天前
SQL的事务控制
sql·mysql
NineData6 天前
NineData智能数据管理平台新功能发布|2026年1-2月
数据库·sql·数据分析
阿里云大数据AI技术7 天前
用 SQL 调大模型?Hologres + 百炼,让数据开发直接“对话”AI
sql·llm
B站计算机毕业设计超人12 天前
计算机毕业设计Django+Vue.js高考推荐系统 高考可视化 大数据毕业设计(源码+LW文档+PPT+详细讲解)
大数据·vue.js·hadoop·django·毕业设计·课程设计·推荐算法
B站计算机毕业设计超人12 天前
计算机毕业设计Django+Vue.js音乐推荐系统 音乐可视化 大数据毕业设计 (源码+文档+PPT+讲解)
大数据·vue.js·hadoop·python·spark·django·课程设计
tryCbest12 天前
数据库SQL学习
数据库·sql
十月南城12 天前
数据湖技术对比——Iceberg、Hudi、Delta的表格格式与维护策略
大数据·数据库·数据仓库·hive·hadoop·spark