mysql查出指定时间段中的每天的日期


背景:数据库中某个业务表产生的数据日期不连续的,比如出库表,本月5号和27号可能都没有出库记录。前端报表组件要求传入连续的日期以便渲染数据

需求:返回指定日期时间段内的每天的出库量,如果当天没有出库记录,则当日出库量记为零

方法:

   一、难点分析

    在数据库层面根据出库记录创建日期进行分组,并对组内的出库量进行求和,即为当日的出库量。

    问题在于如果某天没有出库记录则会产生日期遗漏问题。

    难点在于如何获取指定时间段内的每一天的日期,获取后可以左关联查询每天的出库量。

 

   二、查询指定时间段内每一天日期的方法(startDay:起始日期   endDay:结束日期)

  

SELECT
 date_add( date_sub(#{startDay},interval 1 day), INTERVAL ( cast( help_topic_id AS signed INTEGER ) + 1 ) day ) day 
FROM
 mysql.help_topic 
WHERE
 help_topic_id < DATEDIFF(#{endDay},date_sub(#{startDay},interval 1 day))
ORDER BY
 help_topic_id

 

   三、查询2020年3月的日期列表

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM