当前位置:网站首页 > SQL数据库编程 > 正文

SQL窗口函数(SQL窗口函数 连续N天登录)



问题: 现有用户登录记录表,请查询出用户连续三天登录的所有数据记录 

 
  

期望结果:

 

创建表并向hive中插入数据: 

 
  

--第一步  找出当前日期的后面的第三个日期(函数lead())和真正的三天后日期 (函数date_add())

lead():是一种窗口函数,用于在基于特定排序规则的结果集中,返回当前行之后的某一行(由用户指定偏移量)的指定列的值

date_add():核心功能是对日期进行加法运算。它接受一个日期值和一个时间间隔作为输入,然后返回在该日期基础上增加指定时间间隔后的日期

 
  

查询结果: 

 

--第二步 比较这两个日期是否相等 ,判断当前日期是否是连续三天的

 
  

查询结果: 

 

--第三步 筛选出符合条件(连续登陆三天)的起始日期 

 
  

查询结果:

 

--第四步 将查询出来的表与另一个一行有三条数据的表进行join

 
  

两表合并后的查询结果: 

 

 最终查询结果:

 

 

到此这篇SQL窗口函数(SQL窗口函数 连续N天登录)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • sql窗口函数有哪些特点(sql常用的窗口函数)2026-03-26 15:45:11
  • sql文件怎么导入数据库dbeaver(sql怎么把文件导入数据表)2026-03-26 15:45:11
  • 数据库入门知识(sql数据库入门基础知识)2026-03-26 15:45:11
  • mysql锁表如何解锁(mysql锁表了怎么解锁)2026-03-26 15:45:11
  • 如何下载pymysql安装包(如何下载pymssql)2026-03-26 15:45:11
  • goldendb数据库(goldendb数据库 mysql)2026-03-26 15:45:11
  • sqlserver文件格式(sql server格式)2026-03-26 15:45:11
  • pymysql(Pymysql查询返回的结果)2026-03-26 15:45:11
  • mysql主键可以设置为自动增加吗(mysql主键可以设置为自动增加吗对吗)2026-03-26 15:45:11
  • goldendb数据库是用什么改的(goldendb数据库 mysql)2026-03-26 15:45:11
  • 全屏图片