# 方法一:查询连续登陆7天的用户id和登陆天数
-- 第一步:用户登录日期去重
select distinct date(date) as 日期,id from tb_user;
-- 第二步:用row_number()计数
select *,row_number() over(PARTITION by id order by 日期) as cum from (select DISTINCT date(date) as 日期,id from tb_user)a;
-- 第三步:日期减去计数值得到结果
select *,date(日期)-cum as 结果 from (select *,row_number() over(PARTITION by id order by 日期) as cum from (select DISTINCT date(date) as 日期,id from tb_user)a)b;
-- 第四步:根据id和结果分组并计算总和,大于等于7的即为连续登录7天的用户
select id,count(*) from (select *,date(日期)-cum as 结果 from (select *,row_number() over(PARTITION by id order by 日期) as cum from (select DISTINCT date(date) as 日期,id from tb_user)a)b)c GROUP BY id,结果 having count(*)>=7;
select * from tb_user;# 方法二:登陆天数最多
select id,count(date2) as 连续天数
from (select *,date_sub(date1,interval r day) date2from(select distinct id,date(date) date1,dense_rank()over(partition by id ORDER BY date(date)) as rfrom tb_user) v ) w
group by id,date2
order by 连续天数 desc
limit 1;# 方法三:登陆天数最多
select id,max(h) '登录天数'from(
select id ,count(e) h from (
select *,a-b as e from (
select *,row_number() over(order by id) b from(
select *,date_format(date,'%Y%m%d') a from (
select distinct id,date(date) date from tb_user order by id,date(date)) as c)as d) as f)as g
group by e,id)as i group by id order by max(h) desc LIMIT 1;# 方法四:登陆天数最多
select d.id,max(e)
from
(select id,a,count(id) as e from
(select distinct id,day(date) as c,row_number() over(partition by id order by date) a
from tb_user
group by id,day(date)) b
where c = a
group by id
order by id) d;# 方法五:登陆天数最多
select id,max(sort1) as 最多登录天数
from(
select *,
dense_rank()over(partition by id,datesub order by id,date) as sort1
from
(select *,
date_sub(date,interval sort day) as datesub
from
(select id,date(date) date,
dense_rank()over(partition by id order by id,date(date)) as sort
from tb_user) a  # 按id,date 不跳越排序
) b   #计算 date - sort  日期差
) c;   #再次排序 按id和 日期差# 方法六:登陆天数最多
SELECT id,count(date-t2) `连续登录天数`
from(SELECT DISTINCT date(date) date,id,row_number()over(PARTITION by id)t2 from tb_user GROUP BY id,date(date)) a
group by id,date-t2
order by `连续登录天数` desc
limit 1;

超详细解析:用sql查找连续登陆7天或者登陆天数最多的用户id相关推荐

  1. Android技能树 — 网络小结(6)之 OkHttp超超超超超超超详细解析

    前言: 本文也做了一次标题党,哈哈,其实写的还是很水,各位原谅我O(∩_∩)O. 介于自己的网络方面知识烂的一塌糊涂,所以准备写相关网络的文章,但是考虑全部写在一篇太长了,所以分开写,希望大家能仔细看 ...

  2. 单片机数字钟(调时,调时闪烁,万年历,年月日)超详细解析

    2019/07/13 单片机数字钟(调时,调时闪烁,万年历,年月日)超详细解析 发表日期:2019/07/13 单片机开发板:巫妖王2.0, 使用同款开发板可直接上板测试 文档说明: 实现功能 : 一 ...

  3. 计算机网络之交换机的工作原理---超详细解析,谁都看得懂!!

    在了解交换机的工作原理之前,我们先要了解几个概念. 一.相关概念  1.OSI七层模型是哪七层? 自上而下分别是: 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 交换机工作在数据链路层, ...

  4. Apollo Control——超详细入门教程(二):连续状态空间方程离散化与离散LQR公式推导

    专栏文章列表 Apollo Control--超详细入门教程(一):基于道路误差的车辆动力学模型 Apollo Control--超详细入门教程(二):连续状态空间方程离散化与离散LQR公式推导 Ap ...

  5. 超详细解析:使用SQL语句查询连续登陆7天的用户信息

    假设有如下表tb_user,现输出连续登陆7天的用户id 方法一思路: 1.因为每天用户登录次数可能不止一次,所以需要先将用户每天的登录日期去重. 2.再用row_number() over(part ...

  6. 两万字深度讲解系统设计!超详细解析!面试复习必备!

    Table of Contents generated with DocToc 三高 高并发 高性能 高可用 网站统计IP PV UV实现原理 如何进行系统拆分? 场景题:设计判断论文抄袭的系统 设计 ...

  7. 关于主从复制的超详细解析(全)

    目录 前言 1. 主从复制 1.1 方式 2. Mysql的主从复制 2.1 一主一从 2.1.1 window和linux通讯 2.1.2 linux和linux的通讯 2.2 双主双从 3. Re ...

  8. 【智能算法】粒子群算法(Particle Swarm Optimization)超详细解析+入门代码实例讲解...

    喜欢的话可以扫码关注我们的公众号哦,更多精彩尽在微信公众号[程序猿声] 01 算法起源 粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),1995 年由E ...

  9. 超全超详细,常见SQL 面试知识点汇总

    SQL是用于数据分析和数据处理的最重要的编程语言之一, 因此与数据科学相关的工作(例如数据分析师.数据科学家和数据工程师)在面试时总会问到关于 SQL 的问题. SQL面试问题旨在评估应聘者的技术和解 ...

最新文章

  1. python随机生成字符串_python生成随机数、随机字符串
  2. NSString与NSData互转
  3. I2C驱动程序框架probe道路
  4. 笔刷怎么做_原来是这样:用PS笔刷做出颜料肌理效果!
  5. 使用spring jdbc的batchUpdate功能提高性能
  6. python设置tk退出_退出tkinter gui
  7. 软件开发作为一种价值领域的研究
  8. c语言硬件信息监控,zabbix通过ipmi传感器监控浪潮服务器的硬件信息
  9. “一学就会”微服务的架构模式
  10. 20060516: 实现圆角div效果
  11. lisp一键室内标注_LISP-标注的自动位置调整
  12. PHP下ajax跨域的解决方案之window.name
  13. SSH面试常被问到的问题
  14. 单元测试系列一-为什么要写单元测试,何时写,写多细
  15. 互联网+O2O 的商业模式
  16. 找不到项目 该项不在计算机中,Win7删除文件夹找不到该项目怎么删除?“找不到该项目”强删方法...
  17. enscape3.1完美中文版
  18. 学习 Python 之 Pygame 开发魂斗罗(二)
  19. 2.3、JavaScript 数据类型 - 数字类型
  20. 简单python数据分析项目实例-入门Python数据分析最好的实战项目(一)

热门文章

  1. python scipy库总结
  2. iPhone手机iOS15降iOS14系统教程
  3. 计算机毕业设计(附源码)python智能仓储设备管理系统
  4. 字节跳动欢迎你的加入
  5. Ubuntu 13.04中源码方式安装MySQL 5.5.33
  6. 基于转子磁链定向的异步电机矢量控制仿真(一)
  7. matlab mha,ITK 实现多张图像转成单个nii.gz或mha文件案例
  8. windows10/11自带的重装方法
  9. Mybatis快速配置-不适合入门
  10. 【实用的开源项目】使用云服务器部署TaleBook,简洁、强大的私人书籍管理系统!