2014-12-05 190 views
-1

我想查找每个客户在表单上花费的平均时间。两个日期时间列之间的平均差异

表看起来是这样的:

customerID | InTime | OutTime 
+0

这是非常基本的,GROUP BY查询,选择客户ID ,由customerid从表组中的平均时间(外出时间)。 – radar 2014-12-05 21:12:18

+0

取决于你想要的平均值? – TMNT2014 2014-12-05 21:16:16

+0

InTime和OutTime的数据类型是什么? – 2014-12-05 21:16:24

回答

3

给出的平均持续时间在几秒钟内 - 通过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