前言:

  前一段时间遇到了一个需求,有一个运营活动要求在站内连续发布部分问题回答的学员,每日发布多次也算一次。当时绞尽脑汁最后求了 用户和有发布回答的天数排序的数据,但是连续问题想了一两个小时没得题解。幸亏那次数据量不大,后来直接用excel手动筛选解决了问题。
  后来一个朋友又遇到了这个问题询问我有没有解决办法,我当时对他说没有,他当时狠狠鄙视了我一下,说 ‘你不是sql精通吗?就这就这?’。后来这个题解还是在我朋友那得到的,他们公司的一个sql大佬写的一个思路,思路大概如下图

这个时候可能有的同学有点懵,‘这啥玩意啊,就这都解了?’。当然解题不会那么简单,这只是一个思路,不过遇到这个问题的同学看到这张图片我觉着应该也有解题办法了。

正文题解

member_id publish_date answer_id
123 2022-12-26 12344

假设有表 answer ,其中有字段member_id、publish_date、answer_id,要求在2022-12-01到2022-12-31作者最大连续发布回答的最大天数。

select--求出作者id,最大打卡次数member_id,max(num) as continue_day
from(-- 求出作者id,总日期和打卡日期排序后相差的天数,相差天数的打卡数selectt2.member_id,t1.order_num1 - t2.order_num2 as gap_date,count(1) as numfrom(--取出全部时间,并按照时间去重排序selectdistinct publish_date,dense_rank() over(order bypublish_date) as order_num1fromanswerwherepublish_date between '2022-12-01' and '2022-12-31') t1left join (--取出全部打卡的数据,按照作者和天进行去重排序selectdistinct member_id,publish_date,dense_rank() over(partition by member_idorder bypublish_date) as order_num2fromanswerwherepublish_date between '2022-12-01' and '2022-12-31') t2 on t1.publish_date = t2.publish_dategroup byt2.member_id,t1.order_num1 - t2.order_num2) as a
group bymember_id

sql如何求连续打卡相关推荐

  1. Sql如何统计连续打卡天数

    总第208篇/张俊红 今天来解一道题面试中可能经常会被一些面试官拿来"刁难"的题,就是<如何统计连续打卡天数>,当然了这里面的打卡可以换成任意其他行为,比如连续登陆天数 ...

  2. mysql 连续打卡_MySQL查询连续打卡信息?

    最近多次看到用SQL查询连续打卡信息问题,自己也实践一波.抛开问题本身,也是对MySQL窗口函数和自定义变量用法的一种练习. 01 建表 所用数据库为MySQL8.0,简单而不失一般性,建立一个仅有记 ...

  3. mysql连续打卡次数_MySQL查询连续打卡信息?

    导读:最近多次看到用SQL查询连续打卡信息问题,自己也实践一波.抛开问题本身,也是对MySQL窗口函数和自定义变量用法的一种练习. 00 建表 所用数据库为MySQL8.0,简单而不失一般性,建立一个 ...

  4. php取数组中连续数,PHP实现求连续子数组最大和问题2种解决方法

    本文实例讲述了PHP实现求连续子数组最大和问题2种解决方法.分享给大家供大家参考,具体如下: 问题描述 求子数组的最大和 题目描述: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整 ...

  5. SQL Server数据库连续集成(CI)最佳实践以及如何实现它们–测试,处理和自动化

    测试中 (Testing) Test databases should be processed with unit tests In many shops code is unit tested a ...

  6. sql 求相交的行_SQL相交

    sql 求相交的行 In a day to day scenario, we do meet with requirements where we need to get the common res ...

  7. 大数据练习题mysql之求连续出勤和连续最大登陆天数

    某APP活跃用户,字段uid和dt两个字段,求连续出勤天数大于等于三天的用户和用户最大登录天数 求连续出勤天数,使用row_number()方法: SELECT a.uid,DATE_SUB(a.dt ...

  8. SQL server求百分比

    SQL server求百分比 select convert(decimal(18,0),(19.0/101.0)*100) as LT5--结果19 通过上面的语法可以将19/101的百分比算出 但是 ...

  9. 求连续子序列平均最大权值的问题

    原题链接 求长度为n.m(<=1e5)的a,b两组数组一段长度不小于x.y的连续子序列平均最大权值. 分析: 要求一个数组a长度不小于len的连续子序列平均最大权值. 二分答案x,令b[i]=a ...

最新文章

  1. 演示:思科设备基于物理接口帧中继(fame-relay)的配置
  2. 调试寄存器(debug registers, DRx)理论及实践
  3. MapReduce TopK统计加排序
  4. 计算机供用户使用的内存区域,计算机应用复习资料
  5. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--L-用来作弊的药水
  6. 2008年CCNA第二学期第九单元题目(2008-12-14 14:04:38)
  7. NOIP2001-普及组复赛-第2题-最大公约数和最小公倍数问题
  8. 题库:queryset数据类型的特性
  9. 解决springboot启动失败问题:Unable to start embedded container;
  10. python做一个本地搜索工具_用Python打造一款文件搜索工具,所有功能自己定义!...
  11. 什么是python的内置函数_python 内置函数
  12. paddlepaddle手写字体识别
  13. oracle可恢复的等待,【案例】Oracle RAC恢复报错RMAN-06004 RMAN-20003解决办法笔记
  14. 如何清理和优化你的Mac:14个小技巧推荐给你!
  15. RMAN备份归档日志时的not backed up与catalog数据库结合时的问题
  16. 【M365运维】查看电脑硬盘加密状态是否同步到 Intune
  17. 应用技术大公开系列Q之十一:(纤维).石墨烯纸制备工艺 (*3-4)
  18. BeanFactory和ApplicationContext的区别
  19. 【BUAA_CO_LAB】计组p2碎碎念
  20. 携程CPS分佣怎么推广?

热门文章

  1. 在Ubuntu 22.04 Jammy Jellyfish Linux上流畅安装VMware tools
  2. 谈谈小弟最近暗自干些什么勾当(LGame WP版开发进度汇报)
  3. windows客户端通过脚本文件添加信任站点
  4. 线上教学软件哪个平台好?
  5. MOOS-ivp 实验四 MOOS编程入门(2)MOOS类讲解
  6. AppleParty(苹果派)v3 支持 App Store 新定价机制 - 批量配置自定价格和销售范围
  7. RTX3060显卡比1060跑深度学习慢?
  8. lcd和oled的区别哪个好
  9. ZXing实现横竖屏扫描切换
  10. java生成迷宫_java怎么生成迷宫地图