2014-09-02 98 views
0

我的问题是我试图找到一个电话打开的平均时间长度。SQL AVG查询需要帮助

所以,我的继承人列, “ ID开触点类别子类别原因说明TakenBy AssignedTo关闭 ” 所以我想我的查询,以便对这些结果,显示的平均时间打电话是开放的前添加一个额外的列其结束时间由开放日期和结束日期之间的时间计算。

我的查询,如下所示:

Select ID, Opened, Contact, Category, SubCategory, Cause, Description, TakenBy, AssignedTo, Closed 
From TCall 
where CustID = 163 
and Opened between '2013-09-01 00:00:00.000' and '2014-09-01 00:00:00.000' 

不再需要的信息,请咨询我。

+0

使用'AVG(闭开)作为AverageTime'查询。 AVG将返回单个值。你是否想为所有行使用相同的单个值作为额外的列 – Ram 2014-09-02 14:58:37

+0

你是什么意思你想要最后一列是平均时间?你的意思是每次通话的实际时间?您可以分别对新创建的列执行平均值计算,但是我希望您在开始和结束时间之间只需几秒钟就可以计算出 – Kritner 2014-09-02 15:00:48

+0

是的,我希望使用单个值作为所有行的额外列数,感谢您的支持帮帮我! – surGe 2014-09-02 15:05:14

回答

0

你可以做这样的事情:(假设MS SQL)

select avg(secondDuration) 
from (
    Select ID, Opened, Contact, Category, SubCategory, Cause, Description, TakenBy, AssignedTo, Closed, dateDiff(s, opened, closed) as secondDuration 
    From TCall 
    where CustID = 163 
    and Opened between '2013-09-01 00:00:00.000' and '2014-09-01 00:00:00.000' 
) subQuery