Oracle 按年或月进行统计

本文提供了一种使用SQL查询来解决数据统计中空年、空月问题的方法。通过创建临时表并利用LEVEL函数生成连续年份或月份,再与实际数据进行连接,实现了即使在某些年份或月份没有记录的情况下也能返回0值的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

csdn上看到的问题,想想写了一个。不对的地方请指正。

 

画面机能要求对一张表的数据进行统计
表定义(略去用不到的字段)
LB01_PURRECEIVEBOOK

PURRECEIVEDATE    DATE,        --format: 2009/11/01
RECEIVEAMT        NUMBER

① 按年统计时,如果出现空年,则做成该年度金额为0
例:
2009/09/01    1,000
2009/11/01    3,000
2007/12/01    2,000
抽出:
2009    4,000
2008    0
2007    2,000
②按月统计时,出现空月,则做成该月份金额为0
2009/09/01    1,000
2009/11/01    3,000
2009/12/01    2,000
抽出:
2009/09    1,000
2009/10    0
2009/11    3,000
2009/12    2,000


这个可以比较简单的作出来吗?
 
按照年统计

按照月进行统计
 
 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值