Mysql生成连续时间段记录
需求说明
基于某个起始日期值,比如‘2021-9-1’,生成其之后的30天数据,结果类似:
2021-09-02、2021-09-03、2021-09-04...
问题分析
该需要看似简单,但想不借助交互式SQL即WHILE循环的方式,则得考虑借助自增辅助表来实现。自增辅助表的构造有几种方法,详见代码处的介绍:
-- # Way1 借助系统表作为自增辅助
SELECT DATE_FORMAT(DATE_SUB('2021-09-01', INTERVAL -pos DAY), '%Y-%m-%d') gendate
FROM(SELECT ORDINAL_POSITION pos FROM information_schema.`COLUMNS`WHERE TABLE_NAME = 'table_lock_waits_summary_by_table'AND ORDINAL_POSITION <30
)A-- # Way2 借助系统表生成自增辅助
SELECT DATE_FORMAT(DATE_SUB('2021-09-01', INTERVAL -num DAY), '%Y-%m-%d') gendate
FROM(
SELECT @row:=@row+1 num
FROM sys.metrics a,(SELECT @row:=0) b
)A
WHERE A.num<30-- # Way3 借助CTE生成自增序列,mysql 8及以上版本
WITH RECURSIVE cte (num) AS
(SELECT 1UNION ALLSELECT num + 1 FROM cte WHERE num < 30
)
SELECT DATE_FORMAT(DATE_SUB('2021-09-01', INTERVAL -num DAY), '%Y-%m-%d') gendate
FROM cte;
结果展示
Mysql生成连续时间段记录相关推荐
- MySQL查询连续的时间段
有时候我们会遇到这种需求,要求统计本月份每天日期的数据,意思就是说日期必须连续,不能中断.我的思路就是查询出一段连续的时间段作为一个表去和主要数据连表查询.表连接分组什么的相对大家都很熟练了,这里主要 ...
- mysql存入订单号不重复_MSSQL高并发下生成连续不重复的订单号
一.确定需求 只要做过开发的基本上都有做过订单,只要做过订单的基本上都要涉及生成订单号,可能项目订单号生成规则都不一样,但是大多数规则都是连续增长. 所以假如给你一个这样的需求,在高并发下,以天为单位 ...
- 更新MYSQL生成日历表,支持跨年份 存储过程
更新MYSQL生成日历表,支持跨年 代码 CREATE DEFINER = 'root'@'localhost' PROCEDURE `proc_ym`(IN sdate DATE, IN edate ...
- MySQL性能优化点记录
第一章 myisam,可以基于blob和text的前500字节,创建索引 myisam 支持fulltext 延迟更新索引 (delay_key_write) CREATE TABLE `table3 ...
- koa2 mysql_koa2+vue+mysql 全栈开发记录
koa2+vue2+mysql 全栈开发记录 基于想要自己制作一个个人项目为由,于是有了这么一个开发记录(梳理开发过程也是一个知识巩固的过程) koa2+vue2+mysql 个人的一个通用DEMO( ...
- MySQL 8.0安装记录
MySQL 8.0安装记录 文档目的 本文用于描述MySQL 8.0安装与配置的一般方法 前言 Oracle官网对应大多数操作系统提供两种种MySQL安装包 Windows: exe zip Redh ...
- html 自动日期,excel自动生成连续日期
如何自动生成有规律连续的时间段,效果如下图 公式: =TEXT((19+(ROW()-1)/12)/24,"hh:mm") &"-" & TEX ...
- Leetcode|MySQL|数据库刷题记录(601~627)
目录 601. 体育馆的人流量 602. 好友申请 II :谁有最多的好友 603. 连续空余座位 607. 销售员 608. 树节点 610. 判断三角形 612. 平面上的最近距离 613. 直线 ...
- mysql 唯一序列号_利用mysql生成唯一序号
在数据库分表或者程序自己需要唯一id的情况下,我们需要一个生成唯一id的方案. 可以编写一个综合时间和某些特征生成唯一id的程序,也可以考虑使用数据库里自增id的特性来实现这个需求,下面举个mysql ...
最新文章
- iOS学习笔记---oc语言第八天
- SSISDB6:参数和环境变量
- Linux共享库路径配置
- 烂泥:智能DNS使用与配置
- 服务器上的文件怎么取名,给新的服务器取名你会取神马?
- slice,Array.prototype.slice,Array.protyotype.slice.call
- centos8下搭建gotk3(go语言gtk库) x86_64-w64-mingw32交叉编译环境
- 新浪微博登陆以及发送微博(附python源码)
- 蔚来明年推出Gemini 该系列保持高端定位?
- 5款最好的MySQL自由软件工具
- matlab 高级函数 —— ind2sub、kron
- (转)MFC消息机制
- 单细胞数据高级分析之初步降维和聚类 | Dimensionality reduction | Clustering
- 在Windows下使用安装并启动HDFView踩坑记录
- RV减速器静力学和动力学仿真分析
- 轻量级Kubernetes之k3s:10:ContainerCreating状态的解决方法
- 路径穿越(Path Traversal)详解
- 【数据去噪】SG-多项式平滑算法
- 【入坑Java第二天】
- 计算机应用行距怎么弄,电脑行间距在哪里设置
热门文章
- VTK:离散行进立方体用法实战
- JavaScript实现广度优先搜索BFS算法(附完整源码)
- OpenCASCADE:OCCT应用框架OCAF之形状属性
- OpenCASCADE:拓扑 API之3D模型周期性
- boost::test::basic_cstring相关的测试程序
- boost::process::args相关的测试程序
- boost::mp11::mp_is_map相关用法的测试程序
- boost::hana::metafunction用法的测试程序
- GDCM:区分音量DiscriminateVolume的测试
- GDCM:读取流图像的测试程序