我有一个查询,用于选择电话号码,已接听的入站呼叫计数,未接听的入站呼叫计数,以及接听电话百分比的公式。
假设用户有入站呼叫,这个公式很有效,但如果他们根本没有入站呼叫,我就会得到null。这个想法是,如果他们没有入站呼叫,那么他们应该有100%作为接听电话百分比的公式。
我如何才能最好地修改此功能以保留当前功能,但却为没有入站呼叫的用户负责?
SELECT phone
, sum(if(calltype= 2,1,0) and answered = 1) as inboundAnswered
, sum(if(calltype= 2,1,0) and answered = 0) as inboundMissed
, round((sum(if(calltype= 2,1,0) and answered = 1))/(sum(if(calltype= 2, 1, 0))) * 100,2) as AnsweredPercentage -- This takes inbound answered calls and divides by total inbound calls
FROM
phoneCalls;
答案 0 :(得分:1)
这就是我使用100%标准SQL进行计算的方法。当没有应答呼叫时,让公式返回NULL,并使用Coalesce将其转换为100;
COALESCE(100.00 * sum(case when calltype = 2 and answered = 1 then 1 end)/
sum(case when calltype = 2 then 1 end), 100)