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

 更新时间:2024年03月02日 08:37:31   作者:你才是臭弟弟  
我们经常遇到一些需求,需要我们在sql语句中对日期进行分类统计,下面这篇文章主要给大家介绍了关于Oracle数据库中如何按天、周、月、季、年统计数据的相关资料,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

简介:

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

结果集

总结 

到此这篇关于Oracle数据库中如何按天、周、月、季、年统计数据的文章就介绍到这了,更多相关Oracle按天周月季年统计数据内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • Oracle数据库如何获取多条结果集中的第一条或某一条

    Oracle数据库如何获取多条结果集中的第一条或某一条

    Oracle从多条符合条件的记录中选择一条这个需求相信大家应该都遇到过,这篇文章主要给大家介绍了关于Oracle数据库如何获取多条结果集中的第一条或某一条的相关资料,需要的朋友可以参考下
    2023-03-03
  • Oracle数据库中外键的相关操作整理

    Oracle数据库中外键的相关操作整理

    这篇文章主要介绍了Oracle数据库中外键的相关操作整理,包括对外键参照的主表记录进行删除的操作方法等,需要的朋友可以参考下
    2016-01-01
  • Oracle与Mysql自动增长列(id)的区别

    Oracle与Mysql自动增长列(id)的区别

    这篇文章主要介绍了Oracle与Mysql自动增长列(id)的区别,需要的朋友可以参考下
    2014-01-01
  • Oracle删除表前判断表名是否存在若存在则删除

    Oracle删除表前判断表名是否存在若存在则删除

    在Oracle中若删除一个不存在的表则会提示表或视图不存在,这就需要我们再删除表前判断该表是否存在,若存在则删除,感兴趣的朋友可以了解下本文
    2013-11-11
  • oracle实现一对多数据分页查询筛选示例代码

    oracle实现一对多数据分页查询筛选示例代码

    这篇文章主要给大家介绍了关于oracle实现一对多数据分页查询筛选的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • oracle更新xml节点问题的一些细节

    oracle更新xml节点问题的一些细节

    本节主要介绍了oracle更新xml节点问题的一些细节,需要的朋友可以参考下
    2014-08-08
  • Oracle获取执行计划的六种方法总结

    Oracle获取执行计划的六种方法总结

    执行计划(explain plan)是指一条查询语句在数据库中的执行过程或访问路径的描述,下面这篇文章主要给大家总结介绍了关于Oracle获取执行计划的六种方法,需要的朋友可以参考下
    2024-01-01
  • 检测oracle数据库坏块的方法

    检测oracle数据库坏块的方法

    这篇文章主要介绍了检测oracle数据库坏块的方法 的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-05-05
  • oracle数据库冷备份的方法

    oracle数据库冷备份的方法

    oracle数据库脱机备份的实现方法与在使用oracle数据库脱机备份时的一些注意事项
    2013-11-11
  • Oracle如何使用PL/SQL调试存储过程

    Oracle如何使用PL/SQL调试存储过程

    这篇文章主要介绍了Oracle如何使用PL/SQL调试存储过程,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07

最新评论

?


http://www.vxiaotou.com