mysql如何动态创建连续时间段

 更新时间:2024年01月12日 10:11:31   作者:优秀的胡茬  
这篇文章主要介绍了mysql如何动态创建连续时间段问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

mysql动态创建连续时间段

SELECT
	(((
			SELECT
				( curdate() - INTERVAL 30 YEAR )) - INTERVAL 1 YEAR	
			) + INTERVAL ( cast( `mysql`.`help_topic`.`help_topic_id` AS signed ) + 1 ) YEAR 
	) AS `current_week` 
FROM
	`mysql`.`help_topic` 
WHERE
	(
		`mysql`.`help_topic`.`help_topic_id` < 30) 
ORDER BY
	`mysql`.`help_topic`.`help_topic_id`

忘了原sql是从哪里找到的了,给改造了一下,上边的是构造当前时间向前推30年的连续年,需要连续月就把“YEAR”改成“MONTH”即可得到连续月;同理,需要连续天则改成“DAY”。

需要构造连续多少条时间就把30改成对应需要的数字,以此作为基表关联业务表即可统计连续时间段业务情况。

在mapper.xml中写自己的逻辑即可

仅供参考:

<select id="select" resultMap="Vo">
        select d.date,count(t.id) count
    form 
        (SELECT
	        (((
			SELECT
				( curdate() - INTERVAL #{连续时间长度} 
                <if test="判断传入参数">
                    YEAR
                </if>
             )) - INTERVAL 1 
                <if test="判断传入参数">
                    YEAR
                </if>	
			) + INTERVAL ( cast( `mysql`.`help_topic`.`help_topic_id` AS signed ) + 1 ) 
            <if test="判断传入参数">
                YEAR
            </if>
        	) AS `current_week` 
        FROM
	        `mysql`.`help_topic` 
        WHERE
    	(
	    	`mysql`.`help_topic`.`help_topic_id` < #{连续时间长度} ) 
            ORDER BY
	        `mysql`.`help_topic`.`help_topic_id`) d
        left join (
            /** 具体的业务表 */
        )T on T.date = d.date
</select>

如果按非当前时间计算还需要考虑到日期格式转换

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL深分页问题的原因及解决方案

    MySQL深分页问题的原因及解决方案

    MySQL 作为最受欢迎的开源关系数据库之一,被广泛用于各种规模的应用程序中,分页是一种常见的数据检索技术,它允许用户在大量数据中浏览和检索信息,当涉及到“深分页”时,即查询大量数据后的页面时,MySQL 的性能可能会显著下降,本文介绍了MySQL深分页问题的原因及解决方案
    2024-09-09
  • mysql连接查询(左连接,右连接,内连接)

    mysql连接查询(左连接,右连接,内连接)

    这篇文章主要介绍了mysql连接查询(左连接,右连接,内连接)的相关资料,这里举例说明如果使用及附实例代码,需要的朋友可以参考下
    2017-07-07
  • mysql数据备份与恢复实现方法分析

    mysql数据备份与恢复实现方法分析

    这篇文章主要介绍了mysql数据备份与恢复实现方法,结合实例形式分析了mysql数据备份与恢复常见实现方法与相关操作注意事项,需要的朋友可以参考下
    2020-04-04
  • 详解MySQL的字段默认null对唯一索引的影响

    详解MySQL的字段默认null对唯一索引的影响

    这篇文章主要为大家介绍了MySQL的字段默认null对唯一索引的影响详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • MySQL 5.7新特性介绍

    MySQL 5.7新特性介绍

    这篇文章主要为大家详细介绍了MySQL 5.7新特性,了解一下MySQL 5.7的部分新功能,需要的朋友可以参考下
    2016-06-06
  • MySQL的安装与配置详细教程

    MySQL的安装与配置详细教程

    MySQL是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的,本文主要以Mysql免安装版为例,帮助大家解决安装与配置mysql的步骤
    2021-06-06
  • 浅谈慢SQL优化之索引的作用

    浅谈慢SQL优化之索引的作用

    本文针对 MySQL 数据库的 InnoDB 存储引擎,介绍其中索引的实现以及索引在慢 SQL 优化中的作用,本文主要讨论不同场景下索引生效与失效的原因,感兴趣的小伙伴可以跟着小编一起来探讨
    2023-05-05
  • MySQL校对规则(COLLATION)的具体使用

    MySQL校对规则(COLLATION)的具体使用

    本文主要介绍了MySQL校对规则(COLLATION)的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 详解MySQL8.0 密码过期策略

    详解MySQL8.0 密码过期策略

    这篇文章主要介绍了MySQL8.0 密码过期策略的相关资料,帮助大家更好的理解和使用MySQL8.0的新功能,感兴趣的朋友可以了解下
    2020-11-11
  • 19个MySQL性能优化要点解析

    19个MySQL性能优化要点解析

    这篇文章主要介绍了19个MySQL性能优化要点,并对其都进行了深入解析,感兴趣的小伙伴们可以参考一下
    2015-08-08

最新评论