数据表(bmfz)如下:
id bm time fz
01 部门1 2013/01/03 2
02 部门2 2013/01/21 3
03 部门1 2013/01/21 3
04 部门2 2013/02/03 1
05 部门1 2013/02/04 2
06 部门1 2013/03/04 4
07 部门2 2013/03/11 1
08 部门1 2013/04/11 5
最终实现如下结果:
bm 1月份fz合计 2月份fz合计 3月份fz合计 4月份fz合计 5月.....12月
部门1 5 2 4 5 无 .... 无
部门2 4 1 1 无 无 .... 无
求教各位SQL/plus查询语句,谢谢了先!
Oracle中的SQL查询语句:如何按照表中不同部门,按照录入时间分12个月份统计求和。
答案:2 悬赏:60 手机版
解决时间 2021-12-28 16:16
- 提问者网友:夢醒日落
- 2021-12-27 16:16
最佳答案
- 五星知识达人网友:傲气稳了全场
- 2021-12-27 16:35
--希望解决了楼主的问题
select bm,sum(case when to_char(time,'MM')='01' then fz else 0 end ) 1月份fz合计,
sum(case when to_char(time,'MM')='02' then fz else 0 end ) 2月份fz合计,
sum(case when to_char(time,'MM')='03' then fz else 0 end ) 3月份fz合计,
sum(case when to_char(time,'MM')='04' then fz else 0 end ) 4月份fz合计,
sum(case when to_char(time,'MM')='05' then fz else 0 end ) 5月份fz合计,
sum(case when to_char(time,'MM')='06' then fz else 0 end ) 6月份fz合计,
sum(case when to_char(time,'MM')='07' then fz else 0 end ) 7月份fz合计,
sum(case when to_char(time,'MM')='08' then fz else 0 end ) 8月份fz合计,
sum(case when to_char(time,'MM')='09' then fz else 0 end ) 9月份fz合计,
sum(case when to_char(time,'MM')='10' then fz else 0 end ) 10月份fz合计,
sum(case when to_char(time,'MM')='11' then fz else 0 end ) 11月份fz合计,
sum(case when to_char(time,'MM')='12' then fz else 0 end ) 12月份fz合计 from bmfz
group by bm
select bm,sum(case when to_char(time,'MM')='01' then fz else 0 end ) 1月份fz合计,
sum(case when to_char(time,'MM')='02' then fz else 0 end ) 2月份fz合计,
sum(case when to_char(time,'MM')='03' then fz else 0 end ) 3月份fz合计,
sum(case when to_char(time,'MM')='04' then fz else 0 end ) 4月份fz合计,
sum(case when to_char(time,'MM')='05' then fz else 0 end ) 5月份fz合计,
sum(case when to_char(time,'MM')='06' then fz else 0 end ) 6月份fz合计,
sum(case when to_char(time,'MM')='07' then fz else 0 end ) 7月份fz合计,
sum(case when to_char(time,'MM')='08' then fz else 0 end ) 8月份fz合计,
sum(case when to_char(time,'MM')='09' then fz else 0 end ) 9月份fz合计,
sum(case when to_char(time,'MM')='10' then fz else 0 end ) 10月份fz合计,
sum(case when to_char(time,'MM')='11' then fz else 0 end ) 11月份fz合计,
sum(case when to_char(time,'MM')='12' then fz else 0 end ) 12月份fz合计 from bmfz
group by bm
全部回答
- 1楼网友:有你哪都是故乡
- 2021-12-27 17:12
你好!
select bm,sum(case when time=1月 then fz else 0 end)
.............
from bmfz
group by bm order by 1
如果对你有帮助,望采纳。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯