我需要更改此查询,以便按时分解每个座席的总呼叫数。
目前我已经让它工作了一天,但我想看看我是否可以使用相同的查询来抓住一周中的每一天。
以下是目前正在返回的内容:
extension Agent MondayTotalCalls
237 Agent 1 62
275 Agent 2 63
233 Agent 3 58
272 Agent 4 65
245 Agent 5 61
236 Agent 6 2
239 Agent 7 45
以下是我目前使用的查询:
select
u.extension
,u.firstname + ' ' + u.lastname as Agent
,count(s.notablecallid) as MondayTotalCalls
from ##session s
inner join ##callsummary cs on cs.notablecallid = s.notablecallid
inner join ##mxuser u on u.extensionid = s.extensionid2
inner join ##acdgroup g on s.serviceextension2 = g.extension
where g.extension in ('700', '702')
and s.creationtimestamp between @monday_start_datetime and @monday_end_datetime
group by u.firstname, u.lastname, u.extension
我在查询中已经构建了其他可能有用的变量。
我每天有两个变量starttime
和endtime
(星期一至星期五)
我需要daterange
所需的特定周@converted_start_datetime
和@converted_end_datetime
将整个daterange
数据放入每个表格##session
,##callsummary
等。
对于每个代理商,我需要一周中每一天的总数。
答案 0 :(得分:0)
我认为按datename(weekday, creationtimestamp)
聚合会做你想做的事情:
select datename(weekday, creationtimestamp) as dow, u.extension
u.firstname + ' ' + u.lastname as Agent,
count(s.notablecallid) as MondayTotalCalls
from ##session s inner join
##callsummary cs
on cs.notablecallid = s.notablecallid inner join
##mxuser u
on u.extensionid = s.extensionid2 inner join
##acdgroup g
on s.serviceextension2 = g.extension
where g.extension in ('700', '702') @monday_end_datetime
group by datename(weekday, creationtimestamp), u.firstname, u.lastname, u.extension
order by min(creationtimestamp);