zoukankan      html  css  js  c++  java
  • 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月的日期列表

  • 相关阅读:
    android面试之怎么把图片变成圆形
    android面试之contentProvider获取联系人
    Android面试之assets和aw文件的使用
    Android设计模式之面试
    Activity、Window、View的关系
    ViewPager的简单用法
    补间动画
    帧动画
    android系统的样式和主题
    C++的三种继承方式简述
  • 原文地址:https://www.cnblogs.com/java-bhp/p/12760210.html
Copyright © 2011-2022 走看看