我在Oracle SQL查询中遇到了一个问题。我不知道如何得到这个查询的和:
select call_type, channel
,count (case when status="no answer" then 1 end else 0) as cnt_no_answer
,count (case when status="answered" then 1 end else 0) as cnt_answer
from app_account.cc_call;请帮帮我。谢谢!
发布于 2014-01-06 08:39:48
若要获得答复和未答复的记录和而不是计数,请执行以下操作。若要获取已回答或未答复的所有记录的数量,请使用计数(状态)。要获得所有记录的计数,也就是状态为空的记录,请使用count(*)。字符串需要单引号,而不是双引号。案例陈述需要结束。
编辑(使用的结尾太多):
select call_type, channel
, sum(case when status='no answer' then 1 else 0 end) as cnt_no_answer
, sum(case when status='answered' then 1 else 0 end) as cnt_answer
, count(status) as cnt_all_stated
, count(*) as cnt_all_records
from app_account.cc_call
group by call_type, channel;发布于 2014-01-06 08:18:04
再试一次,我编辑它:
SELECT call_type, channel,
sum (CASE WHEN status='no answer' THEN 1 ELSE 0 END) AS cnt_no_answer,
sum (CASE WHEN status='answered' THEN 1 ELSE 0 END) AS cnt_answer
FROM app_account.cc_call
GROUP BY call_type, channel;发布于 2014-01-06 08:42:53
看看这个:
SELECT CALL_TYPE,
CHANNEL,
COUNT (CASE WHEN UPPER(STATUS) = UPPER('no answer') THEN 1 ELSE NULL END)
AS CNT_NO_ANSWER,
COUNT (CASE WHEN UPPER(STATUS) = UPPER('answered') THEN 1 ELSE NULL END)
AS CNT_ANSWER
FROM APP_ACCOUNT.CC_CALL
GROUP BY CALL_TYPE, CHANNEL;https://stackoverflow.com/questions/20945402
复制相似问题