• mysql查询日期分组,不存在的补全0,做每天数据图表,根据日期,N天数往前查


    SELECT
    	IFNULL( DATA.count, 0 ) AS count,
    	day_list.DAY AS createTime 
    FROM
    	( SELECT DATE_FORMAT( create_time, '%Y-%m-%d' ) DAY, count( order_base_id ) count FROM odr_order_base WHERE pay_status = 1 GROUP BY DAY )
    	DATA RIGHT JOIN (
    SELECT
    	@date := DATE_ADD( @date, INTERVAL - 1 DAY ) DAY 
    FROM
    	( SELECT @date := DATE_ADD( '2020-3-27', INTERVAL + 1 DAY ) FROM odr_order_base ) days 
    	LIMIT 7 
    	) day_list ON day_list.DAY = DATA.DAY
    <select id="selectIndexList" resultType="com.xinruke.cmall.order.interfaces.vo.OrderBaseIndexListVO">
    
          SELECT
            IFNULL( DATA.count, 0 ) AS count,
            day_list.DAY AS createTime
          FROM
            ( SELECT DATE_FORMAT( create_time, '%Y-%m-%d' ) DAY, count( order_base_id ) count FROM odr_order_base
                WHERE
                pay_status = #{param.payStatus}
                AND status IN
                <foreach collection="statusList" item="status" separator="," open="(" close=")">
                    #{status}
                </foreach>
             GROUP BY DAY )
            DATA RIGHT JOIN (
          SELECT
            @date := DATE_ADD( @date, INTERVAL - 1 DAY ) DAY
          FROM
            ( SELECT @date := DATE_ADD( #{param.createTime}, INTERVAL + 1 DAY ) FROM odr_order_base ) days
            LIMIT #{param.todayNum}
            ) day_list ON day_list.DAY = DATA.DAY
        </select>
    

      

    SELECT

    SELECT
    	IFNULL( DATA.count, 0 ) AS count,
    	day_list.DAY AS createTime 
    FROM
    	( SELECT DATE_FORMAT( create_time, '%Y-%m-%d' ) DAY, count( order_base_id ) count FROM odr_order_base WHERE pay_status = 1 GROUP BY DAY )
    	DATA RIGHT JOIN (
    SELECT
    	@date := DATE_ADD( @date, INTERVAL - 1 DAY ) DAY 
    FROM
    	( SELECT @date := DATE_ADD( '2020-3-27', INTERVAL + 1 DAY ) FROM odr_order_base ) days 
    	LIMIT 7 
    	) day_list ON day_list.DAY = DATA.DAY
    

      

    IFNULL( DATA.count, 0 ) AS count,day_list.DAY AS createTime FROM( SELECT DATE_FORMAT( create_time, '%Y-%m-%d' ) DAY, count( order_base_id ) count FROM odr_order_base WHERE pay_status = 1 GROUP BY DAY )DATA RIGHT JOIN (SELECT@date := DATE_ADD( @date, INTERVAL - 1 DAY ) DAY FROM( SELECT @date := DATE_ADD( '2020-3-27', INTERVAL + 1 DAY ) FROM odr_order_base ) days LIMIT 7 ) day_list ON day_list.DAY = DATA.DAY

  • 相关阅读:
    织梦栏目判断 seotitle的小bug
    Python正课32 —— 函数参数的补充
    Python正课31 —— 函数参数的使用
    Python正课30 —— 函数的基本使用
    Python正课29 —— 文件修改
    Python正课28 —— f.seek的应用
    Python正课27 —— 文件高级操作:指针的移动
    Python正课26 —— 文件处理的补充
    javascript 中的时间戳转换时间 根据时间字符判断星期几 根据开始时间结束时间获取中间间隔时间 来自转发
    js获取url参数值的两种方式
  • 原文地址:https://www.cnblogs.com/zhangrongfei/p/12582220.html
Copyright © 2020-2023  润新知