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