Sql 两个datetime列之间的平均差异
我想找出每位客户在表单上花费的平均时间 该表如下所示:Sql 两个datetime列之间的平均差异,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我想找出每位客户在表单上花费的平均时间 该表如下所示: customerID | InTime | OutTime 以秒为单位给出平均持续时间-仅按id分组并使用聚合平均值函数 create table #test ( CustomerID int, InTime datetime, OutTime datetime ) insert into #test values (1,'20140101 10:00','20140101 12:00'),
customerID | InTime | OutTime
以秒为单位给出平均持续时间-仅按id分组并使用聚合平均值函数
create table #test
(
CustomerID int,
InTime datetime,
OutTime datetime
)
insert into #test values (1,'20140101 10:00','20140101 12:00'),
(1,'20140102 10:00','20140102 12:00'),
(2,'20140101 10:00','20140101 20:00'),
(3,'20140103 10:00','20140103 11:00')
select CustomerID, avg(datediff(ss,InTime,OutTime))
from #test
group by CustomerID
drop table #test
这是非常基本的,按查询分组,按customerId从表中选择customerId、avgouttime。取决于您想要的平均值?IntTime和OutTime的数据类型是什么?此外,IntTime和OutTime是否允许空值?我编辑了您的问题,但我不确定您是指每位客户的平均值,即您在该表中的每位客户的平均值,还是希望对所有客户的平均值,即您的结果只有一个数字。如果我做了错误的假设,请随意编辑您的问题以解决它。