SELECT * FROM (
SELECT nvl(b.NAME,'待分配') responsible_Dept
,count(1) punches_In_Total
,count(CASE WHEN a.COMMENT_LEVEL= 'A' THEN 1 end) at_Punches_In_Total
,count(CASE WHEN a.COMMENT_LEVEL= 'B' THEN 1 end) bt_Punches_In_Total
,count(CASE WHEN a.FINISH_DATE IS NOT NULL THEN 1 end) closed_In_Total
,count(CASE WHEN a.FINISH_DATE IS NOT NULL AND a.COMMENT_LEVEL= 'A' THEN 1 END) at_Punches_Closed
,count(CASE WHEN a.FINISH_DATE IS NOT NULL AND a.COMMENT_LEVEL= 'B' THEN 1 END ) bt_Punches_Closed
,CASE WHEN count(CASE WHEN a.COMMENT_LEVEL= 'A' THEN 1 end) = 0 THEN 0 ELSE round(count(CASE WHEN a.FINISH_DATE IS NOT null AND a.COMMENT_LEVEL= 'A' THEN 1 END)/count(CASE WHEN a.COMMENT_LEVEL= 'A' THEN 1 end),2) end punch_At_Closed_Rate
,CASE WHEN count(CASE WHEN a.COMMENT_LEVEL= 'B' THEN 1 end) = 0 THEN 0 ELSE round(count(CASE WHEN a.FINISH_DATE IS NOT null AND a.COMMENT_LEVEL= 'B' THEN 1 END)/count(CASE WHEN a.COMMENT_LEVEL= 'B' THEN 1 end),2) end punch_Bt_Closed_Rate
,CASE WHEN count(1) =0 THEN 0 ELSE round(count(CASE WHEN a.FINISH_DATE IS NOT NULL THEN 1 end)/count(1),2) END closed_Rate
,count(CASE WHEN a.FINISH_DATE IS NULL AND a.COMMENT_LEVEL= 'A' THEN 1 END) at_Punches_Remaining
,count(CASE WHEN a.FINISH_DATE IS NULL AND a.COMMENT_LEVEL= 'B' THEN 1 END ) bt_Punches_Remaining
,count(CASE WHEN a.FINISH_DATE IS NULL THEN 1 end) remaining_In_Total
,count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))<=to_date('2025-12-05','yyyy-mm-dd') THEN 1 end) total_Planned_Elimination
,count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))<=to_date('2025-12-05','yyyy-mm-dd') AND a.FINISH_DATE IS NOT NULL THEN 1 end) total_Actual_Elimination
,count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))<=to_date('2025-12-05','yyyy-mm-dd') AND a.FINISH_DATE IS NOT NULL THEN 1 end)-count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd')+1)<to_date('2025-12-05','yyyy-mm-dd') THEN 1 end) total_Difference
,count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))<=to_date('2025-12-05','yyyy-mm-dd') AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))>=(to_date('2025-12-05','yyyy-mm-dd')-7) THEN 1 end) weekly_Planned_Elimination
,count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))<=to_date('2025-12-05','yyyy-mm-dd') AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))>=(to_date('2025-12-05','yyyy-mm-dd')-7) AND a.FINISH_DATE IS NOT NULL THEN 1 end) weekly_Actual_Elimination
,count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))<=to_date('2025-12-05','yyyy-mm-dd') AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))>=(to_date('2025-12-05','yyyy-mm-dd')-7) AND a.FINISH_DATE IS NOT NULL THEN 1 end)-count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))<=to_date('2025-12-05','yyyy-mm-dd') AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))>=(to_date('2025-12-05','yyyy-mm-dd')-7) THEN 1 end) weekly_Difference
,count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))=to_date('2025-12-05','yyyy-mm-dd') THEN 1 end) daily_Planned_Elimination
,count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))=to_date('2025-12-05','yyyy-mm-dd') AND a.FINISH_DATE IS NOT NULL THEN 1 end) daily_Actual_Elimination
,count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))=to_date('2025-12-05','yyyy-mm-dd') AND a.FINISH_DATE IS NOT NULL THEN 1 end)-count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))=to_date('2025-12-05','yyyy-mm-dd') THEN 1 end) daily_Difference
FROM COMMENT_MAINDETAILS a
LEFT JOIN T_ORGANIZATION b ON b.CODE = a.OWNER_DEPT
WHERE MAIN_TYPE_CODE = 'N06' and SUB_TYPE_CODE = 'N06602' AND a.PROJECT_ID = 3202
GROUP BY b.NAME
UNION
SELECT '合计' responsible_Dept
,count(1) punches_In_Total
,count(CASE WHEN a.COMMENT_LEVEL= 'A' THEN 1 end) at_Punches_In_Total
,count(CASE WHEN a.COMMENT_LEVEL= 'B' THEN 1 end) bt_Punches_In_Total
,count(CASE WHEN a.FINISH_DATE IS NOT NULL THEN 1 end) closed_In_Total
,count(CASE WHEN a.FINISH_DATE IS NOT NULL AND a.COMMENT_LEVEL= 'A' THEN 1 END) at_Punches_Closed
,count(CASE WHEN a.FINISH_DATE IS NOT NULL AND a.COMMENT_LEVEL= 'B' THEN 1 END ) bt_Punches_Closed
,CASE WHEN count(CASE WHEN a.COMMENT_LEVEL= 'A' THEN 1 end) = 0 THEN 0 ELSE round(count(CASE WHEN a.FINISH_DATE IS NOT null AND a.COMMENT_LEVEL= 'A' THEN 1 END)/count(CASE WHEN a.COMMENT_LEVEL= 'A' THEN 1 end),2) end punch_At_Closed_Rate
,CASE WHEN count(CASE WHEN a.COMMENT_LEVEL= 'B' THEN 1 end) = 0 THEN 0 ELSE round(count(CASE WHEN a.FINISH_DATE IS NOT null AND a.COMMENT_LEVEL= 'B' THEN 1 END)/count(CASE WHEN a.COMMENT_LEVEL= 'B' THEN 1 end),2) end punch_Bt_Closed_Rate
,CASE WHEN count(1) =0 THEN 0 ELSE round(count(CASE WHEN a.FINISH_DATE IS NOT NULL THEN 1 end)/count(1),2) END closed_Rate
,count(CASE WHEN a.FINISH_DATE IS NULL AND a.COMMENT_LEVEL= 'A' THEN 1 END) at_Punches_Remaining
,count(CASE WHEN a.FINISH_DATE IS NULL AND a.COMMENT_LEVEL= 'B' THEN 1 END ) bt_Punches_Remaining
,count(CASE WHEN a.FINISH_DATE IS NULL THEN 1 end) remaining_In_Total
,count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))<=to_date('2025-12-05','yyyy-mm-dd') THEN 1 end) total_Planned_Elimination
,count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))<=to_date('2025-12-05','yyyy-mm-dd') AND a.FINISH_DATE IS NOT NULL THEN 1 end) total_Actual_Elimination
,count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))<=to_date('2025-12-05','yyyy-mm-dd') AND a.FINISH_DATE IS NOT NULL THEN 1 end)-count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd')+1)<to_date('2025-12-05','yyyy-mm-dd') THEN 1 end) total_Difference
,count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))<=to_date('2025-12-05','yyyy-mm-dd') AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))>=(to_date('2025-12-05','yyyy-mm-dd')-7) THEN 1 end) weekly_Planned_Elimination
,count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))<=to_date('2025-12-05','yyyy-mm-dd') AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))>=(to_date('2025-12-05','yyyy-mm-dd')-7) AND a.FINISH_DATE IS NOT NULL THEN 1 end) weekly_Actual_Elimination
,count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))<=to_date('2025-12-05','yyyy-mm-dd') AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))>=(to_date('2025-12-05','yyyy-mm-dd')-7) AND a.FINISH_DATE IS NOT NULL THEN 1 end)-count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))<=to_date('2025-12-05','yyyy-mm-dd') AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))>=(to_date('2025-12-05','yyyy-mm-dd')-7) THEN 1 end) weekly_Difference
,count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))=to_date('2025-12-05','yyyy-mm-dd') THEN 1 end) daily_Planned_Elimination
,count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))=to_date('2025-12-05','yyyy-mm-dd') AND a.FINISH_DATE IS NOT NULL THEN 1 end) daily_Actual_Elimination
,count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))=to_date('2025-12-05','yyyy-mm-dd') AND a.FINISH_DATE IS NOT NULL THEN 1 end)-count(CASE WHEN a.PLAN_DATE IS not NULL AND (to_date(a.PLAN_DATE,'yyyy-mm-dd'))=to_date('2025-12-05','yyyy-mm-dd') THEN 1 end) daily_Difference
FROM COMMENT_MAINDETAILS a
LEFT JOIN T_ORGANIZATION b ON b.CODE = a.OWNER_DEPT
WHERE MAIN_TYPE_CODE = 'N06' and SUB_TYPE_CODE = 'N06602' AND a.PROJECT_ID = 3202
) 怎么让总计在最后一行其他按照punches_In_Total降序
最新发布