请教一个SQL语句,自动为没有数据的月份填0
时间:2011-12-27
来源:互联网
分组 时间 金额
A 20110706 100
A 20110711 200
A 20110712 100
A 20110719 400
A 20110801 100
A 20110809 540
A 20110826 160
A 20111006 190
A 20111007 210
A 20111012 109
时间字段前四位为年,中间两位为月,最后两位为日
要求得到的数据为按月份汇总的数据,没有数据的月份自动填0,结果如下:
分组 月份 金额
A 01 0
A 02 0
A 03 0
A 04 0
A 05 0
A 06 0
A 07 800
A 08 800
A 09 0
A 10 509
A 11 0
A 12 0
用一条sql语句能否实现?
作者: yugang1219 发布时间: 2011-12-27
作者: realliguangyu82 发布时间: 2011-12-27
作者: lxpbs8851 发布时间: 2011-12-27
作者: yugang1219 发布时间: 2011-12-27
select b.分组 ,to_char(b.时间,'yyyymm') as 月份,sum(nvl(b.金额,0)) as 金额 from (SELECT to_char(TO_DATE('20110101','yyyymmdd' ) +LEVEL - 1,'yyyymmdd') as dt FROM DUAL CONNECT BY LEVEL <= TRUNC(TO_DATE('20120101', 'yyyymmdd')-TO_DATE('20110101', 'yyyymmdd')) + 1 ) a left join tab b on a.dt=b.to_char(时间,'yyyymmdd') group by b.分组 ,to_char(b.时间,'yyyymm')
作者: lxpbs8851 发布时间: 2011-12-27
select b.分组 ,to_char(b.时间,'yyyymm') as 月份,sum(nvl(b.金额,0)) as 金额 from (SELECT to_char(TO_DATE('20110101','yyyymmdd' ) +LEVEL - 1,'yyyymmdd') as dt FROM DUAL CONNECT BY LEVEL <= TRUNC(TO_DATE('20120101', 'yyyymmdd')-TO_DATE('20110101', 'yyyymmdd')) + 1 ) a left join tab b on a.dt=to_char(b.时间,'yyyymmdd') group by b.分组 ,to_char(b.时间,'yyyymm')
作者: lxpbs8851 发布时间: 2011-12-27
select substr(a.dt,1,4) as 月份,sum(nvl(b.金额,0)) as 金额 from (SELECT to_char(TO_DATE('20110101','yyyymmdd' ) +LEVEL - 1,'yyyymmdd') as dt FROM DUAL CONNECT BY LEVEL <= TRUNC(TO_DATE('20120101', 'yyyymmdd')-TO_DATE('20110101', 'yyyymmdd')) + 1 ) a left join tab b on a.dt=to_char(b.时间,'yyyymmdd') group by substr(a.dt,1,4)
作者: lxpbs8851 发布时间: 2011-12-27
FROM tb
group by substr(时间,5,2);
作者: cutebear2008 发布时间: 2011-12-27
select 'A' 分组,t1.rn 月份,nvl(s,0) 金额 from (select lpad(rownum,2,'0') rn from dual connect by rownum<=12)t1 , (select substr(to_char(时间,'YYYYMMDD'),5,2) rn ,sum(金额) s from tb group by substr(to_char(时间,'YYYYMMDD'),5,2))t2 where t1.rn=t2.rn(+) order by t1.rn
作者: xpingping 发布时间: 2011-12-27
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28