首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >怎么得到这笔钱?

问怎么得到这笔钱?
EN

Stack Overflow用户
提问于 2014-01-06 07:52:21
回答 5查看 124关注 0票数 0

我在Oracle SQL查询中遇到了一个问题。我不知道如何得到这个查询的和:

代码语言:javascript
复制
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;

请帮帮我。谢谢!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-01-06 08:39:48

若要获得答复和未答复的记录和而不是计数,请执行以下操作。若要获取已回答或未答复的所有记录的数量,请使用计数(状态)。要获得所有记录的计数,也就是状态为空的记录,请使用count(*)。字符串需要单引号,而不是双引号。案例陈述需要结束。

编辑(使用的结尾太多):

代码语言:javascript
复制
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;
票数 2
EN

Stack Overflow用户

发布于 2014-01-06 08:18:04

再试一次,我编辑它:

代码语言:javascript
复制
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;
票数 2
EN

Stack Overflow用户

发布于 2014-01-06 08:42:53

看看这个:

代码语言:javascript
复制
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;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20945402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档