【发布时间】:2017-08-24 03:40:24
【问题描述】:
我的以下查询完美运行,但我需要更改计算的一部分以获得新指标。
目前它是这样呈现数据的(为了空间和时间,删除了不必要的列):
ID | Extension | Total Inbound | Total Outbound | Total Missed | Total Calls
----------------------------------------------------------------------------
1 1000 6 1 2 7
但是,我想将其更改为从入站中减去错过。它需要继续为总数添加入站和出站,但我正在寻找这个输出:
ID | Extension | Total Inbound | Total Outbound | Total Missed | Total Calls
----------------------------------------------------------------------------
1 1000 4 1 2 7
Insert into test.ambitionLog30Days(Extension, ExtID, Total_Talk_Time_seconds,
Total_Talk_Time_minutes,Total_Outbound, Total_Inbound,
Missed_Calls, Total_Calls, Time_of_report,Date_of_report )
SELECT
c.extension
,RESPONSIBLEUSEREXTENSIONID
, sum(Duration)
, round(sum(Duration) / 60,2)
, sum(if(LEGTYPE1 = 1,1,0)) -- Total inbound calls
, sum(if(LEGTYPE1 = 2,1,0))
, sum(if(Answered = 1,0,1)) -- Total Missed calls
, sum(if(LEGTYPE1 = 1,1,0)) + sum(if(LEGTYPE1 = 2,1,0)) as total_calls
, b.ts
, b.ts
FROM cdrdb.session a
INNER JOIN cdrdb.callsummary b
ON a.NOTABLECALLID = b.NOTABLECALLID
INNER join cdrdb.mxuser c
ON a.RESPONSIBLEUSEREXTENSIONID = c.EXTENSIONID
WHERE b.ts BETWEEN curdate() - interval 30 day and curdate()
-- WHERE b.ts >= '20170723' and b.ts < '20170823'
AND c.extension IN (7276,7314,7295,7306,7357,7200,7218,7247,7331,7255,7330,7000,7215,7240,7358,7312)
group by c.extension,b.ts
ON duplicate key update Total_Talk_Time_seconds =values(Total_Talk_Time_seconds),
Total_Talk_Time_minutes =values(Total_Talk_Time_minutes),
Total_Outbound = values(Total_Outbound),
Total_Inbound = values(Total_Inbound),
Missed_calls = values(Missed_calls),
Total_Calls = values(Total_Calls),
Time_of_report = values(Time_of_report);
我尝试在总入站行上减去 - sum(if(Answered = 1,0,1)),但它只是将出站列中的值返回为负数,所以我认为我只是有一些语法错误。
【问题讨论】: