如何 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
我希望将以下查询作为单个查询。
我的目的是只获取 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