可以使用子查询或者联结的方式将以上两个查询合并成一张表,示例 SQL 如下:

SELECT 
  COUNT(DISTINCT I.IQC_NUM) AS FINISH, 
  NVL(COUNT(DISTINCT CASE WHEN I.QC_MANAGER_AUDIT_RESULT = '4' THEN I.IQC_NUM END), 0) AS SUCCESS
FROM T_GDWMS_IQC I
WHERE I.IQC_SEND_DATE BETWEEN START_DATE AND END_DATE
  AND I.IQC_STATE IN ('2', '3')
  AND I.QC_MANAGER_AUDIT_RESULT IS NOT NULL;

这样就可以得到一个包含 FINISH 和 SUCCESS 两列数据的表格,其中 FINISH 列代表完成的数量,SUCCESS 列代表成功的数量。NVL 函数用于将 COUNT 函数返回的 NULL 值转换为 0,以防止在统计成功数量时出现异常。

Oracle SQL 合并查询统计完成和成功数量

原文地址: https://www.cveoy.top/t/topic/mI1i 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录