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是否允许空值?我编辑了您的问题,但我不确定您是指每位客户的平均值,即您在该表中的每位客户的平均值,还是希望对所有客户的平均值,即您的结果只有一个数字。如果我做了错误的假设,请随意编辑您的问题以解决它。