码迷,mamicode.com
首页 > 数据库 > 详细

SQL 计算最长连续登录天数

时间:2020-11-07 16:10:49      阅读:33      评论:0      收藏:0      [点我收藏+]

标签:技术   group by   detail   article   login   tps   csdn   count   number   

参考:https://blog.csdn.net/ganghaodream/article/details/100083543

SQL计算最长登录天数

技术图片

计算最长登陆天数主要用两个函数:1.窗口函数row_number()over() 2.date_sub()

1.使用row_number()窗口函数

select UID,loadtime,row_number()over(partition by UID order by loadtime) sort
from user_login

技术图片

2.使用date_sub()函数

select UID,date_sub(loadtime,sort) as date_group,min(loadtime) as start, max(loadtime) as end ,count(1) as continue_days
      (select UID,loadtime,row_number()over(partition by UID order 	  by loadtime) sort
       from user_login
      ) a
group by UID,date_sub(loadtime,sort)

技术图片

3.以UID分组,取max(continue_days)

select UID,max(continue_days) as maxday
      (select UID,date_sub(loadtime,sort) as 	 date_group,min(loadtime) as start, max(loadtime) as end ,count(1) as continue_days
            (select UID,loadtime,row_number()over(partition by UID order by loadtime) sort
	     from user_login
    	    ) a
       group by UID,date_sub(loadtime,sort)
      ) b
group by UID

技术图片

SQL 计算最长连续登录天数

标签:技术   group by   detail   article   login   tps   csdn   count   number   

原文地址:https://www.cnblogs.com/jiaxinwei/p/13936273.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!