oracle 统计

select a.emp_id,
       bsu.emp_no,
       bsu.emp_name,
       bo.name,
       sp0 + sp1 + sp2 + sp3 + sp5 + sp6 + sp7 + sp8 + sp9 + sp10 as tot_cnt,
       sp,
       sp0,
       sp1,
       sp2,
       sp3,
       sp5,
       sp6,
       sp7,
       sp8,
       sp9,
       sp10,
       case
         when sp > 0 and sp0 > 0 then
          to_char(sp0 / sp * 100, '999') || '%'
         else
          '0%'
       end p
  from (select emp_id,
               count(1) tot_cnt,
               count(case
                       when task_type = 1 or task_type = 4 then
                        1
                     end) sp,
               count(case
                       when task_type in ('1', '4') and result_comment = '通过' then
                        1
                     end) sp0,
               count(case
                       when task_type = 2 or task_type = 6 then
                        1
                     end) sp1,
               count(case
                       when task_type = 3 or task_type = 8 or task_type = 9 then
                        1
                     end) sp2,
               count(case
                       when task_type = 5 then
                        1
                     end) sp3,
               count(case
                       when task_type = 10 or task_type = 101 then
                        1
                     end) sp5,
               count(case
                       when task_type = 11 then
                        1
                     end) sp6,
               count(case
                       when task_type = 12 then
                        1
                     end) sp7,
               count(case
                       when task_type = 13 then
                        1
                     end) sp8,
               count(case
                       when task_type = 14 then
                        1
                     end) sp9,
               count(case
                       when task_type = 7 then
                        1
                     end) sp10
          from mess_task
         where status = 3
           and org_id in (select org_id from base_organization)
        
         group by emp_id) a,
       base_sys_user bsu,
       base_organization bo
 where a.emp_id = bsu.emp_id
   and bsu.org_id = bo.org_id
 order by emp_id
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值