sql 进进进进进进进 在线等等

发布网友 发布时间:2022-04-23 09:48

我来回答

3个回答

热心网友 时间:2022-06-18 20:47

····你的calltype是什么,看你的意思是要把两个日期之间的时间,calltype。平均calltype.弄出来
我不知道你的calltype什么意思,我猜是呼叫类型,那么你的count(呼叫类型)可以理解,时间差/count(呼叫类型)平均每天这个呼叫类型的次数吗?
我先把你现在的改对吧,你试下,看看是不是你要的预计结果。
错误是你用到了组函数,但是没有把select出来的非组函数中的列分组,这样出来的结果并不是你要的
你试试:
select COUNT(calltype),datediff(ss,WORKSTARTTIME,WORKENDTIME ),datediff(ss,CALLSTARTTIME,CALLENDTIME ),
(datediff(ss,WORKSTARTTIME,WORKENDTIME )/COUNT(calltype)),(datediff(ss,CALLSTARTTIME,CALLENDTIME )/COUNT(calltype))
from event
where CALLTYPE=2
group by calltype,WORKSTARTTIME,WORKENDTIME ,CALLSTARTTIME,CALLENDTIME ;
goup by 中你可以去掉calltype试试看结果是不是你要的,我觉得是有问题的。
你可以用临时视图实现,组函数很有用,但是没弄清它的原理很容易出错
select c.counts,datediff(ss,WORKSTARTTIME,WORKENDTIME ),datediff(ss,CALLSTARTTIME,CALLENDTIME ),
(datediff(ss,WORKSTARTTIME,WORKENDTIME )/c.counts),(datediff(ss,CALLSTARTTIME,CALLENDTIME )/c.counts)
from event ,(select count(*) counts from event where CALLTYPE=2 group by calltype ) c
where CALLTYPE=2
没问题了,你试试是不是你要的结果

热心网友 时间:2022-06-18 20:47

在每个datediff外面再加个sum()
然后group by calltype

热心网友 时间:2022-06-18 20:48

count是聚合函数,而datediff是一个取值范围,

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com