我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用mysql.help_topic生成序列

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用mysql.help_topic生成序列

本文来说下如何使用mysql.help_topic生成序列


问题由来

有时我们在生成一些时间轴类似的数据时,要求数据库不管有没有指定天的数据,都要生成该时间节点,可用mysql.help_topic来解决此类问题,通过序列和日期函数相结合来满足我们的业务需求。

在这里插入图片描述
help_topic本身是Mysql一个帮助解释注释表,用于解释Mysql各种专有名词,由于这张表数据ID是从0顺序增加的,方便我们用于计数,但是8.0.17版本的只有686条数据,超过这个数字,我们就需要己自定义一张表。

可以用做计数的临时表,查询的语句只会用help_topic计数,超出的部分其实都是脏数据。


使用实例

使用实例

SELECTDATE( DATE_ADD( '2022-05-01', INTERVAL @s DAY ) ) AS date,'异常总条数' as e_name, @s := @s + 1 AS `index`FROMmysql.help_topic,( SELECT @s := 0 ) temp WHERE@s <= DATEDIFF('2022-05-31','2022-05-01')

实例结果

在这里插入图片描述


本周,本月,本季度,本年的第一天和最后一天

#查询本周第一天SELECT DATE_SUB(CURDATE(),INTERVAL WEEKDAY(CURDATE()) DAY) AS TIME#查询本周的最后一天SELECT DATE_SUB(CURDATE(),INTERVAL WEEKDAY(CURDATE())-6 DAY) AS TIME#查询本月的第一天SELECT DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE())-1 DAY) AS TIME#查询本月的最后一天SELECT LAST_DAY(CURDATE()) AS TIME#当前quarter的第一天:  select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM  CURDATE()),1) + interval QUARTER(CURDATE())*3-3 month),'%Y-%m-'),'01');  #当前quarter的最后一天:  select LAST_DAY(MAKEDATE(EXTRACT(YEAR  FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-1 month);#当年第一天:SELECT DATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1 DAY); #当年最后一天:SELECT concat(YEAR(now()),'-12-31'); 

新增一个星期,一个月,一个季度,一年

#新增一个星期SELECT DATE_ADD(now(), INTERVAL 1 week) time#新增一个月SELECT DATE_ADD(now(), INTERVAL 1 month) time#新增一个季度SELECT DATE_ADD(now(), INTERVAL 1 quarter) time#新增一年SELECT DATE_ADD(now(), INTERVAL 1 year) time

查询本日,本周,本月,本年的数据

#查询本日的数据SELECT T.* FROM buz_sampling_data TWHERE TO_DAYS(TIME) = TO_DAYS(NOW())#查询本周的数据SELECT T.* FROM buz_sampling_data TWHERE YEARWEEK(TIME,1) = YEARWEEK(NOW(),1)#查询本月的数据SELECT T.* FROM buz_sampling_data TWHERE MONTH(TIME) = MONTH(NOW())#查询本年的数据SELECT T.* FROM buz_sampling_data TWHERE YEAR(TIME) = YEAR(NOW())

来源地址:https://blog.csdn.net/qq_31960623/article/details/124803535

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用mysql.help_topic生成序列

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用mysql.help_topic生成序列

本文来说下如何使用mysql.help_topic生成序列 文章目录 问题由来使用实例 问题由来 有时我们在生成一些时间轴类似的数据时,要求数据库不管有没有指定天的数据,都要生成该时间节点,可用mysql.help_
2023-08-23

使用redis如何生成自增序列号码

目录Redis生成自增序列号码导入依赖yml 配置工具方法redis生成唯一编号redis生成自增序列号码导入依赖org.springframework.boot
2022-11-23

如何使用Linux seq命令生成数字序列

这篇文章主要讲解了“如何使用Linux seq命令生成数字序列”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Linux seq命令生成数字序列”吧!Linux 的 seq 命令可以以
2023-06-16

SQL使用ROW_NUMBER() OVER函数自动生成序列号

语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)简单的说ROW_NUMBER()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY CYLH D
SQL使用ROW_NUMBER() OVER函数自动生成序列号
2019-02-27

SQL如何使用ROW_NUMBER() OVER函数生成序列号

这篇文章给大家介绍SQL如何使用ROW_NUMBER() OVER函数生成序列号,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER
2023-06-22

使用 Linux seq 命令生成数字序列(推荐)

linux 的 seq 命令可以以闪电般的速度生成数字列表,而且它也易于使用而且灵活。 在 Linux 中生成数字列表的最简单方法之一是使用 seq(系列sequence)命令。其最简单的形式是,seq 接收一个数字参数,并输出从
2022-06-04

oracle怎么生成自增序列

Oracle可以通过使用序列(Sequence)来生成自增的数字。序列是一个对象,它可以生成唯一的数字值。可以通过以下步骤来创建和使用序列:1、首先,在Oracle数据库中创建一个序列。可以使用CREATE SEQUENCE语句来创建序列
oracle怎么生成自增序列
2024-04-09

python如何使用列表生成式

这篇文章主要为大家展示了“python如何使用列表生成式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何使用列表生成式”这篇文章吧。多多使用列表生成式替换下面代码:cube_num
2023-06-27

python列表生成器怎么使用

本篇内容介绍了“python列表生成器怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!列表生成式基础语法[exp for iter_v
2023-07-02

MySQL MyISAM和Innodb表生成序列 - Jia

目录背景分析测试结论背景应用端需要生成依次递增的序列来做流水序号等,方案有1、redis /MySQL SEQUENCE引擎生成序列;2、MySQL中myisam表 replace into方式;3、MySQL中innodb表INSERT ... ON DUP
MySQL MyISAM和Innodb表生成序列 - Jia
2022-02-24

使用mybatisPlus生成oracle自增序列遇到的坑如何解决

今天小编给大家分享一下使用mybatisPlus生成oracle自增序列遇到的坑如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了
2023-07-05

idea如何自动生成序列化id

要自动生成序列化ID,可以考虑以下几种方法:1. 使用UUID(Universally Unique Identifier):UUID是一个128位的数字,可以保证生成的ID在全球范围内的唯一性。可以使用Java中的java.util.UU
2023-08-30

Python的range()函数:生成数字序列

Python的range()函数:生成数字序列,需要具体代码示例Python是一种功能强大的编程语言,其中有许多内置的函数对于编写程序非常有帮助。其中之一就是range()函数,它用于生成一个数字序列。本文将详细介绍range()函数的用法
Python的range()函数:生成数字序列
2023-11-18

如何在pandas中使用apply使用生成新的列

如何在pandas中使用apply使用生成新的列?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在pandas的apply方法用于对指定列的每个元素进行相同的操作,下面生成一
2023-06-06

php如何生成不重复的序列号

这篇“php如何生成不重复的序列号”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“php如何生成不重复的序列号”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们
2023-06-06

编程热搜

目录