一、题目 -- 查询产品出现连续订单情况

二、数据 -- 自建表名:test,字段名:goodid(产品id),date(日期)

三、解题思路

1、观察发现,产品a有连续4天,产品b有一个3天,一个4天

2、代码分步实现

(1)多数据时需对原始数据进行整理,比如:提取需求字段,去重,对产品,时间进行排序

-- 使用窗口函数 (前面日期差增长,后面排名也增长 --> 日期连续时差值不变)
-- 对每个产品来说,相同数据则表示连续日期
select goodid,date,
DATEDIFF(date,date('1970-01-01'))-rank() over(PARTITION by goodid order by date asc) as ranking
from test;

窗口函数:rank,dense_rank,row_number区别

(2)考虑到对每个产品来说,相同数据则表示连续日期,对以上连续日期计数即可

-- 产品id,开始日期,结束日期,连续天数
select goodid,min(date),max(date),count(*)
from
(select goodid,date,
DATEDIFF(date,date('1970-01-01'))-rank() over(PARTITION by goodid order by date asc) as ranking
from test ) a
group by goodid,ranking;

函数:datediff,计算逻辑

以上内容与条件相对简单,仅对计算逻辑做记录;

欢迎更多方法的呈现。

mysql 连续日期统计_MYSQL -- 计算连续日期天数相关推荐

  1. mysql 连续天数_mysql计算连续天数,mysql连续登录天数,连续天数统计

    mysql计算连续天数,mysql连续登录天数,连续天数统计 >>>>>>>>>>>>>>>>>& ...

  2. mysql 日期时间差_MySql计算两个日期的时间差函数

    例子: create table route( des varchar(20) not null, start datetime not null ); 计算日程表中距离开始时间还有5分钟到15分钟的 ...

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

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

  4. mysql根据时间回退_MySQL 中的日期时间类型

    日期时间类型中包含以下几种数据类型: 各类型都有具体的取值范围,超出或非法的其他值时,MySQL 会回退到 0.TIMESTAMP 类型是个例外,给它设置一个超出范围的值时,将保存上该类型允许的最大值 ...

  5. Excel函数-日期相关函数(计算间隔日期)

    1. 1 计算间隔年/月/日的日期 1.1 EDATE函数 EDATE函数用于指定某个日期N月之后或是N月之前的日期. 用法为:EDATE(开始日期,指定月份) 1.2 具体应用:计算转正日期 如下图 ...

  6. mysql聚合函数统计_mysql学习-mysql聚合函数和分组统计

    一.聚合函数 聚合函数.称为统计函数 常用的聚合函数 count()总量数 max()最大值 min()最小值 sum()和 avg()平均值 例:查询部门30的总人数(查询总人数,根据empno编号 ...

  7. mysql 时间函数大全_mysql常用的日期函数汇总

    最近做统计时经常用到的几个mysql函数: 1. UNIX_TIMESTAMP() 该函数返回1970到现在的秒数,括号内也可以带参数,即返回1970年到指定时间段的秒数,注意是秒数,常用java的兄 ...

  8. mysql时间等于现在_MySQL中的日期时间等于或大于今天

    10 个答案: 答案 0 :(得分:280) SELECT * FROM users WHERE created >= CURDATE(); 但我认为你的意思是created < toda ...

  9. mysql实现根据身份证号码计算出身日期和年龄

    提出 在我们国家身份证号码从第七位开始到第十四为表示的是你的出生日期:所以给定一个身份证号码我们就可以根据身份证号码计算出相应的出生日期和年龄 解决 计算出生日期 SELECT DATE_FORMAT ...

最新文章

  1. catia齿轮宏程序_Catia宏程序
  2. 16位的数字高字节和低字节_显示掩盖较低和较高的16位数字半字节| 8086微处理器...
  3. 小程序 wxml selectable_微信小程序 抽象节点
  4. idea教育版增加springboot插件
  5. python 欧姆龙plc通信_二进制PLC通信校验和
  6. php libxml安装,关于linux 安装libxml2
  7. 百度SEO与SEM的区别
  8. 看完这篇就够了,mac版本最新Camera Raw 15.1 新功能HDR详解
  9. 致远OA自定义函数--正则表达式匹配校验
  10. 便携打气宝方案开发-充气宝芯片
  11. Juniper交换机收集日志
  12. C语言数码管节日灯,硬件课程设计报告可编程节日彩灯(C语言).pdf
  13. 运行jmc时提示“未检测到本地(可附加的)JVM“
  14. 如何在 R 中找到 F 临界值
  15. C++中typedef的用法
  16. 为什么STM32设置Flash地址0x08000000而不是0x00000000?STM32的启动过程
  17. Execute Disable Bit
  18. 哈工大网络空间安全专业划在计算机类吗,哈尔滨工业大学网络空间安全考研难吗...
  19. label文字 与input 不在一条直线上解决方案
  20. 复杂美应邀出席第五届区块链技术与应用高峰论坛

热门文章

  1. mysql日志 logrotate_mysql的logrotate脚本
  2. 平湖国美网吧采用艾泰路由器后的革新(转)
  3. 阻止分段攻击HotWC3网站注册散列数的依据
  4. Mysql之Concat函数的使用
  5. 数据库DML数据操作语言
  6. python之tiff
  7. 2008 POI各省类型 统计分析 2008poi 2008信息点
  8. DB2删除表数据的4种方式
  9. 路,不通时,选择拐弯;心,不快时,选择看淡
  10. 群雄逐鹿,谁能赢得自动驾驶之战?