首页 > 数据库 >SQL查询数据,要求日期不间断,没有数据的日期显示0

SQL查询数据,要求日期不间断,没有数据的日期显示0

时间:2024-02-21 11:49:23浏览次数:24  
标签:startDate endDate String countArr 日期 SQL date 数据 SELECT


<select id="getTaskPublish" resultType="java.util.Map"> SELECT count( u.id ) AS count, s.date FROM ( SELECT date_add( #{date}, INTERVAL @i := @i + 1 DAY ) AS date FROM ( SELECT 1 <foreach item="index" collection="countArr"> UNION ALL SELECT 1 </foreach>) AS tmp, ( SELECT @i := - 1 ) t ) s LEFT JOIN task_supervise u ON s.date = date_format( u.create_time, '%Y-%m-%d' ) AND u.state != '1' GROUP BY s.date </select>

  

List<Map<String, Object>> getTaskPublish(@Param("date") String date, @Param("countArr") String[] countArr);

  date[0]为开始时间,date[1]为结束时间

 @Override
    public List<Map<String, Object>> getTaskPublish(String[] date) {
        int num = calcBetweenDate(date[0], date[1]);
        String[] countArr = new String[num];
        return homePageMapper.getTaskPublish(date[0], countArr);
    }

  

    public int calcBetweenDate(String start, String end) {
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        Date startDate = null;
        Date endDate = null;
        try {
            startDate = df.parse(start);
            endDate = df.parse(end);
        } catch (Exception e) {
            System.out.println("日期转换出错");
        }
        assert endDate != null;
        return (int) ((endDate.getTime() - startDate.getTime()) / (24 * 60 * 60 * 1000));
    }

  

标签:startDate,endDate,String,countArr,日期,SQL,date,数据,SELECT
From: https://www.cnblogs.com/luorongxin/p/18024835

相关文章

  • Mybatis输出完整Sql - Interceptor
    @Intercepts({@Signature(type=Executor.class,method="query",args={MappedStatement.class,Object.class,RowBounds.class,ResultHandler.class}),@Signature(type=Executor.c......
  • 面试官让我讲讲MySQL三大核心日志实现原理
    本文分享自华为云社区《面试必问|聊聊MySQL三大核心日志的实现原理?》,作者:冰河。MySQL几乎成为互联网行业使用的最多的开源关系型数据库,正因如此,MySQL也成为各大互联网公司面试中必问的数据库,尤其是MySQL中的事务实现机制和三大核心日志的实现原理。今天,我们就重点聊聊MySQL三......
  • powerdesigner 生成mysql脚本,要求字段、表名有注释
    1.字段注释设置:在pdm视图中,Database-->EditCurrentDBMS。   找到MySql5.0-->Script-->Objects-->Column-->Add。a)原来的内容%20:COLUMN%[%National%?national]%DATATYPE%[%Unsigned%?unsigned][%ZeroFill%?zerofill][[.O:[characterset][charset]]%Ch......
  • 数据可视化为什么能帮助我们建设智慧社区?
    在迅猛发展的科技时代,数据可视化作为一种强大的工具,为智慧社区的建设提供了无限可能。它不仅改变了我们对信息的获取方式,更为社区管理、居民生活等方面注入了新的活力。下面我就以可视化从业者的角度,简单聊聊这个话题。数据可视化首先为社区管理提供了直观的决策支......
  • Windows bat批处理+PowerShell获取文件日期 和 时分秒
    前言全局说明Windowsbat批处理+PowerShell获取文件秒一、说明二、分开获取日期和时分秒获取bat文件自身的日期时间和时分秒1.源码文件名:get-file-second.bat@echooffchcp65001>nulecho.echo.setbak_file=get-file-second.bat::获取文件修改时间setloc......
  • 实例详解在Go中构建流数据pipeline
    本文分享自华为云社区《Go并发范式流水线和优雅退出Pipeline与Cancellation》,作者:张俭。介绍Go的并发原语可以轻松构建流数据管道,从而高效利用I/O和多个CPU。本文展示了此类pipelines的示例,强调了操作失败时出现的细微之处,并介绍了干净地处理失败的技术。什么是pipeli......
  • R语言k-Shape时间序列聚类方法对股票价格时间序列聚类|附代码数据
    原文链接:http://tecdat.cn/?p=3726最近我们被客户要求撰写关于时间序列聚类的研究报告,包括一些图形和统计输出。本文我们将使用k-Shape时间序列聚类方法检查与我们有业务关系的公司的股票收益率的时间序列企业对企业交易和股票价格在本研究中,我们将研究具有交易关系的公司的......
  • Python数据结构与算法04——栈与队列
    栈的实现:classStack(object):def__init__(self):self.__list=[]defpush(self,item):self.__list.append(item)defpop(self):returnself.__list.pop()defpeek(self):ifself.__list:returnself._......
  • Python数据结构与算法05——查找与排序
    冒泡排序:defbible_sort(aimlist):n=len(aimlist)j=len(aimlist)whilej>0:foriinrange(n-1):ifaimlist[i]>aimlist[i+1]:aimlist[i],aimlist[i+1]=aimlist[i+1],aimlist[i]n-=1j-=1r......
  • R语言语义分析主题建模探析大数据期刊文章研究热点可视化
    原文链接:http://tecdat.cn/?p=13709 原文出处:拓端数据部落公众号  大数据已经成为变革和创新的技术力量和思维方式,成为当前研究的热门领域。  本文对相关主题下的知网期刊文章数据集进行分析,识别出期刊文章内容近年来变化的规律。期刊热门栏目近年来的变化经过几......