后台sql实现如下图的数据支撑(图横坐标数据要求为今天的前一天往前一个月的,纵坐标为对应天的数据)

select sum(total) total, to_char(dateL,'MM"月"DD"日"') dateL from (
select sum(RZL) total,zlrq dateL from sa.SJJK_RZL rzl where zlrq >=ADD_MONTHS(TRUNC(SYSDATE-1),-1)
and zlrq < TRUNC(SYSDATE)
group by zlrq
union all
(SELECT 0 total, TRUNC(SYSDATE)-LEVEL dateL FROM DUAL CONNECT BY LEVEL<=TRUNC(SYSDATE)-ADD_MONTHS(TRUNC(SYSDATE-1),-1)
)
)
group by dateL
order by dateL

分析下注意:

基础sql知识:

select trunc(sysdate, 'mm')   from   dual  --2018/7/1    返回当月第一天.

select trunc(sysdate) from dual  ---2018/7/2  今天的日期为-2018/7/2

LAST_DAY(DATE)  即 LAST_DAY(日期)  LAST_DAY函数返回指定日期对应月份的最后一天。

connect by level  是oracle中一组关键字,是用来实现递归查询的,譬如说实现查询 1,2,3,4 .....n 的数字可以使用connect by level

举例

SQL语句如下:select level +1 from dual where connect by level <=10

这种方式可以实现查询1到n的数字,共有n行

ADD_MONTHS(TRUNC(SYSDATE),-1)  查询当前日期的前一个月的数据(比如今天是7月2号,这就是6月2号)

TRUNC(SYSDATE)-ADD_MONTHS(TRUNC(SYSDATE),-1)  两个日期的时间差为上述level 的 n,可以查到1到该时间差的行数

TRUNC(SYSDATE)-LEVEL,当前日期减去(查询1到n的数字,共有n行)得到往前的一段连续的日期。

to_char(dateL,'MM"月"DD"日"') 把查询出来的日期处理成想要的日期的格式。

UNION ALL 命令会列出上下所有的值

进入主题sql的Union all前半段是今天的昨天往前数一个月数据

后半段是 今天的昨天往前数30天,这个时间段的数据

所以把所有有值的日期都列出来了。

sql-一段连续日期的数据查询的更多相关文章

  1. Influx Sql系列教程九:query数据查询基本篇二

    前面一篇介绍了influxdb中基本的查询操作,在结尾处提到了如果我们希望对查询的结果进行分组,排序,分页时,应该怎么操作,接下来我们看一下上面几个场景的支持 在开始本文之前,建议先阅读上篇博文: 1 ...

  2. Influx Sql系列教程八:query数据查询基本篇

    前面几篇介绍了InfluxDB的添加,删除修改数据,接下来进入查询篇,掌握一定的SQL知识对于理解本篇博文有更好的帮助,下面在介绍查询的基础操作的同时,也会给出InfluxSql与SQL之间的一些差别 ...

  3. ORM执行原生SQL语句、双下划线数据查询、ORM外键字段的创建、外键字段的相关操作、ORM跨表查询、基于对象的跨表查询、基于双下划线的跨表查询、进阶查询操作

    今日内容 ORM执行SQL语句 有时候ROM的操作效率可能偏低 我们是可以自己编写sql的 方式1: models.User.objects.raw('select * from app01_user ...

  4. 12月15日内容总结——ORM执行原生SQL语句、双下划线数据查询、ORM外键字段的创建、外键字段的相关操作、ORM跨表查询、基于对象的跨表查询、基于双下划线的跨表查询、进阶查询操作

    目录 一.ORM执行SQL语句 二.神奇的双下划线查询 三.ORM外键字段的创建 复习MySQL外键关系 外键字段的创建 1.创建基础表(书籍表.出版社表.作者表.作者详情) 2.确定外键关系 3.O ...

  5. SQL疑难杂症【5 】大量数据查询的时候要考虑结果为空的情况

    最近几天怪事儿出奇的多,同一个工单.同一个产品,在A线可以正常生产,但是在H线死活都无法生产,系统直接提示TimeOut,监控发现有一条SQL语句执行缓慢,Copy出来仔细查看,很简单的一条语句,如下 ...

  6. SQL疑难杂症【4 】大量数据查询的时候避免子查询

    前几天发现系统变得很慢,在Profiler里面发现有的SQL执行了几十秒才返回结果,当时的SQL如下: 可以看得出来,在652行用了子查询,恰巧目标表(QS_WIP)中的记录数为100000000+, ...

  7. MySQL中实现连续日期内数据统计,缺省天数0补全

    某一日,需要查询订单表中一个月每天的金额数 查询出数据如下: array(14) { [0] => array(2) { ["money"] => string(7) ...

  8. 009-Hadoop Hive sql语法详解4-DQL 操作:数据查询SQL-select、join、union、udtf

    一.基本的Select 操作 语法SELECT [ALL | DISTINCT] select_expr, select_expr, ...FROM table_reference[WHERE whe ...

  9. 数据库SQL练习(一):数据查询

    先创建以下3张基本表 1.学生信息表(Student): 2.课程表(Course): 3.成绩表(Score): 4. 将下列数据输入各个表中 建表SQL: CREATE DATABASE Stud ...

  10. SQL经典问题 找出连续日期及连续的天数

    转自:http://bbs.csdn.net/topics/360019248 如何取到每段连续日期的起始终止日期以及持续天数及起始日期距上一期终止日期的天数,能否用一句sql实现?备注:数据库环境是 ...

随机推荐

  1. OpenGL绘制YUV、OpenGL 实现画质模糊以及 OpenGL ES 实现画质模糊

    本文介绍如何采用 Qt + OpenGL 绘制 YUV 数据,并通过 OpenGL 来实现画质模糊. 前言 我们在开发音视频程序的时候,对于解码后帧的渲染往往有几个操作需要做: 将 YUV420 格式 ...

  2. C# 计算代码的运行时间

    用法 主要通过Stopwatch类来实现... 在开发.调试.测试.分析中非常实用. Stopwatch sw = new Stopwatch(); sw.Start(); // 某些耗时的计算或任务 ...

  3. Win10在WSL上使用Vivado对ZCU 102 PYNQ进行ILA调试

    ZCU 102上有两个USB接口(接口信号均为micro-A),其中靠近角落的接口为jtag端口,另外一个是uart端口 vivado自带的硬件管理器通过jtag端口连接到开发板.启动开发板,连接开发 ...

  4. Cursor+playwright+mcp,好玩

    Cursor+playwright+mcp能干嘛,我就不多说,本文只讲怎么用上 第一步,安装下载Cursor.node.js,至于什么python环境,playwright网上一堆教程,自己查 第二步 ...

  5. 再谈kettle两种循环之--调用http分页接口循环获取数据

    再谈kettle两种循环之 – 调用http分页接口循环获取数据 1.场景介绍: 由于数据量比较大,接口有返回限制,需要用到循环分页获取数据 2.案例适用范围: 循环job可参考,变量运用可参考,调用 ...

  6. php/symfony执行生成密钥命令时报错Undefined constant 'OPENSSL_KEYTYPE_RSA'解决办法

    php/symfony执行 lexik:jwt:generate-keypair --overwrite命令生成密钥时报错Undefined constant 'OPENSSL_KEYTYPE_RSA ...

  7. JDK、tomcat、MySQL安装部署

    大数据开发实战 计算机基础普及 [计算机基础与网络.1](动态主机配置协议 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议) 是 RFC 1541( ...

  8. 网鼎杯朱雀组-GO

    这里猜测是魔改base64 尝试替换回去 import string import base64 new="XYZFGHI2+/Jhi345jklmEnopuvwqrABCDKL6789ab ...

  9. windows系统如何开启远程连接

    一.RDP远程桌面介绍 RDP远程桌面即远程桌面系统(Remote Desktop Protocol),是内置于windows系统的网络通信协议.通过RDP,用户可以远程登录到运行windows系统的 ...

  10. API测试基础之http协议

    http简介: http(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP(传输控制协议)之上.它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应.请求和响应消息的头以ASC ...