如何 select 计算 1 个查询中的 1 列

How to select counts of 1 column in 1 query

我希望将以下查询作为单个查询。

我的目的是只获取 job_status = A 处的计数,job_status = A 处的计数和总数。

select 
    WORKSTATION_NAME AS CPU,
    count(*) AS TOTAL 
from 
    MDL.JOB_HISTORY_V 
where 
    MONTH(JOB_RUN_DATE_TIME) = 01 
    AND YEAR(JOB_RUN_DATE_TIME) = 2015 
GROUP BY 
    WORKSTATION_NAME

select 
    WORKSTATION_NAME AS CPU,
    count(*) AS SUCCESS_RUNS 
from 
    MDL.JOB_HISTORY_V 
where 
    JOB_STATUS = 'S' 
    and MONTH(JOB_RUN_DATE_TIME) = 01 
    AND YEAR(JOB_RUN_DATE_TIME) = 2015 
GROUP BY 
    WORKSTATION_NAME

select 
    WORKSTATION_NAME AS CPU, 
    count(*) AS ABEND_RUNS 
from 
    MDL.JOB_HISTORY_V 
where 
    JOB_STATUS = 'A' 
    and MONTH(JOB_RUN_DATE_TIME) = 01 
    AND YEAR(JOB_RUN_DATE_TIME) = 2015 
GROUP BY 
    WORKSTATION_NAME

您可以使用以下条件进行计数:

select WORKSTATION_NAME AS CPU
    ,  count(*) AS TOTAL
    ,  count(case when JOB_STATUS = 'S' then 1 end) as SUCCESS_RUNS
    ,  count(case when JOB_STATUS = 'A' then 1 end) as ABEND_RUNS 
from MDL.JOB_HISTORY_V 
where MONTH(JOB_RUN_DATE_TIME) = 01 
  AND YEAR(JOB_RUN_DATE_TIME) = 2015 
GROUP BY WORKSTATION_NAME