oracle多维度查询数据

decode也可用case when代替

select bj.bjdm,bj.bjmc,rw.kcmc,rw.nj,rw.kkyx,kc.kcmk,kcmk.mc kcmkmc,max(zzzscj),min(zzzscj),
count(1) zrs, -- 总人数
sum(zzzscj) zcj, -- 成绩和
decode(count(1),0,0,sum(zzzscj)/count(1)) pjf, -- 成绩平均分
count(decode(sign(zzzscj-90),-1,null,0,1,1,1)) yxsl, -- 优秀学员数量  count时  如果不符合用null
sum(decode(sign(zzzscj-90),-1,0,0,zzzscj,1,zzzscj)) yxzcj, -- 优秀学员成绩和 sum时  如果不符合用0
count(decode(sign(zzzscj-90),-1,null,0,1,1,1))/count(1)*100 yxbl, -- 优秀学员比例
from (select * from t_cj_xscjb where xn='2021-2022' and xq='1' and lrxn is null and bkcxbj='0' and nvl(zpcj,'0')!='0') cj   --正考成绩,成绩为0的
left join t_xk_xsxkxxb xk on xk.rwid=cj.rwid and xk.xh=cj.xh
left join t_rw_rwapb rw on rw.id=cj.rwid
left join t_xj_xsxxb xj on xj.xh=cj.xh
left join t_dm_bjb bj on xj.bjm=bj.bjdm
left join t_cj_cjlrrwszb cjsz on cjsz.rwid=rw.id
left join t_kck_kcjbxxb kc on kc.kcid=rw.kcid
left join t_dm_kcmkb kcmk on kcmk.dm=kc.kcmk
left join t_dm_yxb yx on yx.yxdm=rw.kkyx
where rw.kcxz='8' and rw.pylx='1' and nvl(cjsz.sflrqmcj,'0')='1' and bj.bjdm is not null
group by bj.bjdm,bj.bjmc,rw.kcmc,rw.nj,rw.kkyx,kc.kcmk,kcmk.mc
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值