SQL:两个日期之间的平均时差(DD:MM:HH:SS)

时间:2014-02-13 12:45:06

标签: mysql

我正在尝试编写一个查询来了解两次之间的平均时间。我想用用户名写这个。

以下是一个例子:

Start of time   end of time user name
12/20/12        1/1/13  1
12/31/12        1/1/13  2
12/31/12        1/1/13  3
1/1/13          1/1/13  2
1/1/13          1/1/13  3
1/1/13          1/1/13  1
1/1/13          1/1/13  2
1/1/13          1/1/13  3
1/1/13          1/4/13  3
9/14/12         1/1/13  2
1/1/13          1/1/13  2
1/1/13          1/1/13  1

我们有三个用户,

Username: 1
Username: 2
Username: 3

这3个用户在某个时间(开始时间)开始执行任务,并在某个时间(结束时间)结束任务。

我想知道这些用户使用的平均时间?>

可以帮我写信查询吗?。

1 个答案:

答案 0 :(得分:1)

假设您的时间列具有正确的日期格式,并且您的表格无需显式转换。以下是对平均值的查询:

select avg(avgs)/60/60/24 as Average from
     (select avg(TIME_TO_SEC(TIMEDIFF(end_time,star_time))) as avgs 
FROM t group by user)as res;

如果您能提供更多信息,我们可以解决您的问题。

对于我创建的演示,点击:SQLFiddle