mysql连续登录5天以上用户,【SQL】查询连续登陆7天以上的用户

更新时间:2023-07-11 20:24:50 阅读: 评论:0

评估拍卖申请书mysql连续登录5天以上⽤户,【SQL】查询连续登陆7天以上的
⽤户
查询7天连续登陆⽤户这个问题很经典,解决⽅法也有很多,这⾥我讲⼀下笔者的⽅法,希望对⼤家有帮助。
具体思路:
1、因为每天⽤户登录次数可能不⽌⼀次,所以需要先将⽤户每天的登录⽇期去重。
2、再⽤row_number() over(partition by _ order by _)函数将⽤户id分组,按照登陆时间进⾏排序。
3、计算登录⽇期减去第⼆步骤得到的结果值,⽤户连续登陆情况下,每次相减的结果都相同。
4、按照id和⽇期分组并求和,筛选⼤于等于7的即为连续7天登陆的⽤户。
表信息如下图
关口前移
第⼀步:⽤户登录⽇期去重
lect DISTINCT date(date) as ⽇期,id from orde;
凉风什么成语结果为:
第⼆步:⽤row_number() over()函数计数
lect *,row_number() over(PARTITION by id order by ⽇期) as cum from (lect DISTINCT date(date) as ⽇期,id from orde)a;
结果为:离骚高中课文
蓝色英文
李彦博
第三步:⽇期减去计数值得到结果
lect *,date(⽇期)-cum as 结果 from (lect *,row_number() over(PARTITION by id order by ⽇期) as cum from (lect DISTINCT date(date) as ⽇期,id from orde)a)b;
结果:
第四步:根据id和结果分组并计算总和,⼤于等于7的即为连续登陆7天的⽤户
lect id,count(*) from (lect *,date(⽇期)-cum as 结果 from (lect *,row_number() over(PARTITIO
精神能力
N by id order by ⽇期) as cum from (lect DISTINCT date(date) as ⽇期,id from orde)a)b)c GROUP BY id,结果 having count(*)>=7;
结果为:
检波器
⽤了多次嵌套查询,最终得到我们需要的结果。

本文发布于:2023-07-11 20:24:50,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1077491.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:结果   登陆   分组   减去   登录
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图