sql-一段连续日期的数据查询
后台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-一段连续日期的数据查询的更多相关文章
- Influx Sql系列教程九:query数据查询基本篇二
前面一篇介绍了influxdb中基本的查询操作,在结尾处提到了如果我们希望对查询的结果进行分组,排序,分页时,应该怎么操作,接下来我们看一下上面几个场景的支持 在开始本文之前,建议先阅读上篇博文: 1 ...
- Influx Sql系列教程八:query数据查询基本篇
前面几篇介绍了InfluxDB的添加,删除修改数据,接下来进入查询篇,掌握一定的SQL知识对于理解本篇博文有更好的帮助,下面在介绍查询的基础操作的同时,也会给出InfluxSql与SQL之间的一些差别 ...
- ORM执行原生SQL语句、双下划线数据查询、ORM外键字段的创建、外键字段的相关操作、ORM跨表查询、基于对象的跨表查询、基于双下划线的跨表查询、进阶查询操作
今日内容 ORM执行SQL语句 有时候ROM的操作效率可能偏低 我们是可以自己编写sql的 方式1: models.User.objects.raw('select * from app01_user ...
- 12月15日内容总结——ORM执行原生SQL语句、双下划线数据查询、ORM外键字段的创建、外键字段的相关操作、ORM跨表查询、基于对象的跨表查询、基于双下划线的跨表查询、进阶查询操作
目录 一.ORM执行SQL语句 二.神奇的双下划线查询 三.ORM外键字段的创建 复习MySQL外键关系 外键字段的创建 1.创建基础表(书籍表.出版社表.作者表.作者详情) 2.确定外键关系 3.O ...
- SQL疑难杂症【5 】大量数据查询的时候要考虑结果为空的情况
最近几天怪事儿出奇的多,同一个工单.同一个产品,在A线可以正常生产,但是在H线死活都无法生产,系统直接提示TimeOut,监控发现有一条SQL语句执行缓慢,Copy出来仔细查看,很简单的一条语句,如下 ...
- SQL疑难杂症【4 】大量数据查询的时候避免子查询
前几天发现系统变得很慢,在Profiler里面发现有的SQL执行了几十秒才返回结果,当时的SQL如下: 可以看得出来,在652行用了子查询,恰巧目标表(QS_WIP)中的记录数为100000000+, ...
- MySQL中实现连续日期内数据统计,缺省天数0补全
某一日,需要查询订单表中一个月每天的金额数 查询出数据如下: array(14) { [0] => array(2) { ["money"] => string(7) ...
- 009-Hadoop Hive sql语法详解4-DQL 操作:数据查询SQL-select、join、union、udtf
一.基本的Select 操作 语法SELECT [ALL | DISTINCT] select_expr, select_expr, ...FROM table_reference[WHERE whe ...
- 数据库SQL练习(一):数据查询
先创建以下3张基本表 1.学生信息表(Student): 2.课程表(Course): 3.成绩表(Score): 4. 将下列数据输入各个表中 建表SQL: CREATE DATABASE Stud ...
- SQL经典问题 找出连续日期及连续的天数
转自:http://bbs.csdn.net/topics/360019248 如何取到每段连续日期的起始终止日期以及持续天数及起始日期距上一期终止日期的天数,能否用一句sql实现?备注:数据库环境是 ...
随机推荐
- 多态的转型和案例--java进阶day02
1.多态的转型 1.向上转型 我们之前学的多态创建对象,使用的都是向上转型,父类引用指向子类(赋值方式则是从子到父),f拿到子类的地址,就能访问子类的堆内存 2.向下转型 和向上转型相反,子类引用指向 ...
- Linux学习笔记(三)----进程
简介 进程是系统资源分配的最小单位,它曾经也是CPU调度的最小单位,但后面被线程所取代. 进程树 Linux系统通过父子进程关系串联起来,所有进程之前构成了一个多叉树结构. 孤儿进程 孤儿进程是指父进 ...
- Spring的基础结构和核心接口
目录 1.BeanDefinition 2.BeanDefinitionReader 3.BeanDefinitionRegistry 4.BeanFactory 5.ApplicationConte ...
- Spring Cloud Config分布式配置中心
一.Spring Cloud Config分布式配置中心作用:可以通过修改在git仓库中的配置文件实现其它所有微服务的配置文件的修改 二.结构图
- mybatis——分页插件PageHelper的使用
项目开发中涉及列表查询时,经常会需要对查询结果进行分页处理:常用的一个插件--PageHelper,是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库,一致支持mysql. ...
- Vue横向滚动鼠标控制
let level_cards // 标记可移动 , move_start // 移动初始的x位置 , move_x // 移动初始的容器偏移量 , move_scroll_left // 判断是否为 ...
- STM32F407数据手册中文版,STM32F429数据参考手册中文版
发布一个适用STM32F405XX.STM32F407XX.STM32F415XX.STM32F417XX.STM32F427XX.STM32F437XX的中文数据手册,具体内容见下图: 首页 目录 ...
- 多文件,从url地址中下载文件并进行压缩
直接上代码 Controller层 //我这里直接拿实体接收,entity.getFile()是List<对象>,对象里面存储文件相关的内容 @PostMapping("/zip ...
- K8s新手系列之Pod的重启策略
概述 K8s中Pod的重启策略具有确保服务连续性.保证任务完整性.提升资源利用效率.便于故障排查的作用 Pod的重启策略可以根据restartPolicy字段定义. 重启策略适用于pod对象中的所有容 ...
- 【记录】Python3|Windows下Python3.11.0的pybluez安装(用于处理蓝牙模块的数据)
参考: 官方安装文档:https://github.com/pybluez/pybluez/blob/master/docs/install.rst 仓库的issue447:https://githu ...