Oracle中按天、周、月、季、年统计数据

news2024/11/28 12:33:22

简介:

       oracle实现按照天、周、月、季、年进行数据统计,在实际业务场景中如 "报表之类" 、"财务业务的往来" 等等,业务往往需要我们统计整年 或 整月的数据等,下面我们直入主题。

说明:

  原始数据

 

一、按天查询

1、片段

select to_char(x.time, 'yyyy-mm-dd') as day, count(1), sum(x.sum) from XIAO x 
 where to_char(x.time, 'yyyy-mm-dd') = '2023-04-23'
 group by to_char(x.time, 'yyyy-mm-dd')
 order by to_char(x.time, 'yyyy-mm-dd')

2、结果集

day 统计2023-04-23 号,count(1) 统计2023-04-23 号有两条数据,sum 统计2023-04-23两条数据个数相加。

二、按周查询

1、片段

select to_char(x.time, 'yyyy') as week,to_char(x.time, 'IW'), count(1) from XIAO x    
 where to_char(x.time, 'yyyy') = '2023'
 group by to_char(x.time, 'yyyy'),to_char(x.time, 'IW')
 order by to_char(x.time, 'yyyy'),to_char(x.time, 'IW')

2、结果集

三 、按月度查询

1、片段

select to_char(x.time, 'yyyy-MM') as month, count(1) from XIAO x    
 where to_char(x.time, 'yyyy') = '2023'
 group by to_char(x.time, 'yyyy-MM')
 order by to_char(x.time, 'yyyy-MM')

2、结果集

四、按季统计

1、片段

select to_char(x.time, 'yyyy') as quarter,to_char(x.time, 'Q'), count(1) from XIAO x    
 where to_char(x.time, 'yyyy') = '2023'
 group by to_char(x.time, 'yyyy'),to_char(x.time, 'Q')
 order by to_char(x.time, 'yyyy'),to_char(x.time, 'Q')

2、结果集

五、按年统计

1、片段

select to_char(x.time, 'yyyy') as year, count(1) from XIAO x    
 where to_char(x.time, 'yyyy') = '2023'
 group by to_char(x.time, 'yyyy')
 order by to_char(x.time, 'yyyy')

2、结果集

附加 

 oracle日期函数IW和WW的区别

WW: 
     每年的1月1日作为当年的第一周的第一天(不管当年的1月1日是星期几); 
     比如:2011/01/01 是周六, 在Oracle中被定义为2011年的第一周的第一天; 

select to_char(TO_DATE('20230101', 'YYYYMMDD'), 'yyyyww') as week1 from dual

IW

    Oracle 日期和时间函数 IW 和 WW 都用于处理日期和时间,但它们之间有一些区别。

首先,WW 函数用于处理星期几的标准,而 IW 函数用于处理日期和时间的标准格式。具体来说,WW 函数将日期或时间字符串转换为 ISO 8601 标准格式的日期或时间,而 IW 函数将日期或时间字符串转换为本地日期和时间格式。

其次,WW 函数将日期或时间字符串的小时、分钟和秒数分别提取出来,并将它们转换为 12 小时制的小时、分钟和秒数。而 IW 函数则将日期或时间字符串的小时、分钟和秒数保留为原样,不进行转换。

此外,WW 函数将日期或时间字符串的日期部分提取出来,并将它们转换为 ISO 8601 标准格式的日期部分。而 IW 函数则将日期或时间字符串的日期部分保留为原样,不进行转换。

总之,WW 函数和 IW 函数都可以用于处理日期和时间,但它们之间的区别在于处理的标准和格式不同。在实际使用中,需要根据具体情况选择适合的函数。

附加sql片段

 oracle求当前日期是今年第几天,第几周,第几月,第几季度。

select 
to_char(TO_DATE('20230101','YYYYMMDD') ,'yyyyiw')  as week, --oracle求当年的第几周
to_char(TO_DATE('20230101','YYYYMMDD') ,'yyyyww')  as week1,--oracle求当年的第几周
to_char(TO_DATE('20230101','YYYYMMDD'),'yyyy') as year,--oracle求第几年
to_char(TO_DATE('20230101','YYYYMMDD') ,'yyyymm') as month,--oracle求当年的第几月
to_char(TO_DATE('20230101','YYYYMMDD'),'yyyyddd') as day,--oracle求当年的第几天
to_char(TO_DATE('20230401','YYYYMMDD') ,'yyyyq') as quarter-- oracle求当年的第几季度
from dual

结果集

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/470852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

我们为什么要叫“鲜枣课堂”?

大家好,我是小枣君。 再过几天,就是五月份了。5月19日,对我们来说,是一个重要的日子——“鲜枣课堂”品牌诞生六周年纪念日。 2017年5月19日,我正式确定了“鲜枣课堂”这个品牌命名,并开启了我的创业历程。…

ECF机制:信号处理

​​​​​​​ 📜 本章目录: 0x00 观察接收信号 0x01 阻塞和解除阻塞信号 0x02 安全的信号处理 0x03 在信号处理器中使用安全的 I/O 函数 0x04 便携式信号处理 0x05 显式信号等待 0x00 观察接收信号 假设内核从异常处理程序中返回,并…

多通道 JESD204B接口FMC子卡原理图: 8 通道 125MSPS16 位 AD 采集

板卡概述 FMC129 是一款 8 通道 125MHz 采样率 16 位 AD 采集 FMC子卡,符合 VITA57.1 规范,可以作为一个理想的 IO 模块耦合至 FPGA 前端,8 通道 AD 通过高带宽的 FMC 连接器(HPC)连接至 FPGA 从 而大大降低了系统信…

Mysql group by 查询报错 1055 this is incompatible with sql_mode=only_full_group_by

文章目录 一、问题二、原因三、解决办法 一、问题 mysql8 使用 group by 查询时报错: 1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘dkia_quality_db.b.id’ which is not functionally dependent on colu…

OpenCV CascadeClassifier级联分类器 人脸检测

一、CascadeClassifier的简介 CascadeClassifier是opencv下objdetect模块中用来做目标检测的级联分类器的一个类;简而言之是滑动窗口机制级联分类器的方式;早期opencv版本仅支持haar特征的目标检测,分别在opencv2.2和2.4之后开始支持LBP和HO…

你知道如何使用C语言实现递归吗?

本篇博客会讲解如何使用C语言实现递归,以及2个注意事项。 递归是什么 递归,简单来说,就是自己调用自己。C语言中,可以使用函数来实现递归,也就是让一个函数自己调用自己。举一个简单的例子: 请你求斐波…

微服务---分布式事务Seata(XA,AT,TCC,SAGA模式基本使用)

分布式事务 1.分布式事务问题 1.1.本地事务 本地事务,也就是传统的单机事务。在传统数据库事务中,必须要满足四个原则: 1.2.分布式事务 分布式事务,就是指不是在单个服务或单个数据库架构下,产生的事务&#xff0c…

开发中不可轻视的接口文档

接口文档是描述如何与软件系统中的特定接口进行交互的文档,通常包含接口的名称、描述、请求和响应的格式、参数、返回值、错误码、调用示例等信息。它是开发人员在设计和开发软件系统时必不可少的参考资料。 日常工作中,运用接口文档最多的是前后端的同…

提高效率:使用这些工具,让你开发和学习更简单

🍎道阻且长,行则将至。🍓 目录 零、ChatGPT一、代码1.代码备忘清单2.菜鸟教程3.代码转图片4.代码在线运行5.LaTeX 公式编辑器6.GitCode、GitHub 等代码仓库平台 二、绘图1.Canva 可画2.Echarts Js画图3.算法可视化4.函数绘图5.遇到 Alt 截不…

236:vue+openlayers输入经纬度坐标,校验并在地图上标记点,enter提交

第236个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中输入坐标点,在地图上显示点图形。这里面校验了输入的经纬度坐标,同时使用了@keyup.enter.native来做提交处理。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果 文章目录 示例效果…

第七章SpingMVC

1.MVC模式 视图(View)-对应组件:JSP或者HTML文件 控制器(Controller)-对应组件:Servlet 模型(Model) -对应组件:JavaBean 2.MVC模式具体说明 JSP:负责生成动态…

python resnet实例,残差网络医学分类,基于resnet医学图像分类任务;医学图像处理实战

一,数据集介绍: 数据预处理: 把数据处理成相同大小: 数据集: PathMNIST:结直肠癌组织学切片;ChestMNIST:胸部CT数据集,来源于NIH-ChestXray14 dataset;DermaMNIST&#…

【刷题之路Ⅱ】LeetCode 138. 复制带随机指针的链表

【刷题之路Ⅱ】LeetCode 138. 复制带随机指针的链表 一、题目描述二、解题难点分析方法——插入拷贝节点2、将拷贝节点插入到原节点的后面3、复制原节点的random到拷贝节点中4、将拷贝节点尾插到新链表中并恢复原链表的结构 一、题目描述 原题连接: 138. 复制带随机…

考研拓展:汇编基础

一.说明 本篇博客是基于考研之计算机组成原理中的程序机器级代码表示进行学习的,并不是从汇编语言这一门单独的课程来学习的,涉及的汇编语言知识多是帮助你学习考研之计算机组成原理中对应的考点。 二.相关寄存器 1.相关寄存器 X86处理器中有8个32位…

【三十天精通Vue 3】第二十天 Vue 3的性能优化详解

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: 三十天精通 Vue 3 文章目录 引言一、Vue3 性能优化的概念1.1 为什么需要性能优化1.2 性能优化…

基于dsp+fpga+AD+ENDAC的半导体运动台高速数据采集电路仿真设计(四)

整个调试验证与仿真分析分三个步骤:第一步是进行 PCB 检查及电气特性测试,主 要用来验证硬件设计是否正常工作;第二步进行各子模块功能测试,包括高速光纤串行 通信的稳定性与可靠性测试, A/D 及 D/A 转换特性测…

26从零开始学Java之如何对数组进行排序与二分查找?

作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 在上一篇文章中,壹哥给大家讲解了数组的扩容、缩容及拷贝方式。接下来在今天的文章中&…

深眸科技|深度学习、3D视觉融入机器视觉系统,实现生产数智化

随着“中国制造2025”战略加速落实,制造业生产线正在加紧向智能化、自动化和数字化转型之路迈进。而人工智能技术的兴起以及边缘算力持续提升的同时,机器视觉及其相关技术也在飞速发展,并不断渗透进工业领域,拓展应用场景的同时&a…

Apache Druid中Kafka配置远程代码执行漏洞(MPS-2023-6623)

漏洞描述 Apache Druid 是一个高性能的数据分析引擎。 Kafka Connect模块曾出现JNDI注入漏洞(CVE-2023-25194),近期安全研究人员发现Apache Druid由于支持从 Kafka 加载数据的实现满足其利用条件,攻击者可通过修改 Kafka 连接配置属性进行 JNDI 注入攻…

软件架构中间件技术

中间件的定义 其实中间件是属于构件的一种。是一种独立的系统软件或服务程序,可以帮助分布式应用软件在不同技术之间共享资源。 我们把它定性为一类系统软件,比如我们常说的消息中间件,数据库中间件等等都是中间件的一种体现。一般情况都是…