用Oracle寫分組計算數量後再合計,並得出百分數

通過報表的形式展示各部門行爲違章自查問題數量、公司檢查問題數量、自我管理力度(自查比率%。這就要求按照部門進行計算自查問題數量和公司檢查問題數量。最後總計

用的是grouping和group by rollup

則Oracle語句是:

select decode(grouping(zrbm),1,'合計',zrbm) zrbm,sum(dwzcwtsl) dwzcwtsl,sum(gsjcwtsl) gsjcwtsl,
round(to_number((case when sum(dwzcwtsl)=0 and sum(gsjcwtsl)=0 then 1
 else sum(dwzcwtsl)/(sum(dwzcwtsl)+sum(gsjcwtsl)) end)),4)*100||'%' zwglld
      from(
        select zrbm,
            sum(decode(wtly,'車間檢查',1,0)) dwzcwtsl,
              sum(decode(wtly,'廠級檢查',1,0)) gsjcwtsl
            from B82_MRZCXWWZ_TD  where fxwt is not null and dcid='120204'
              group by dcid,zrbm  
   
)group by rollup(zrbm)

結果如圖:


發佈了37 篇原創文章 · 獲贊 12 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章