如何在postgresql中获取平均时间

如何在postgresql中获取平均时间,sql,postgresql,intervals,average,Sql,Postgresql,Intervals,Average,我有这样的桌子: name number total_time avg_time tom 10 00:02:28 ? kevin 6 09:22:25 ? total_time是时间间隔的类型,我可以轻松地更改为字符串。 现在,我想得到这样的平均时间 avg_time = total_time / number; select interval '02:00:00'/4 我想知道如何得到结果?我试着计算日、时、

我有这样的桌子:

name   number   total_time    avg_time
tom      10      00:02:28        ?
kevin    6       09:22:25        ?
total_time是时间间隔的类型,我可以轻松地更改为字符串。 现在,我想得到这样的平均时间

avg_time = total_time / number;
select interval '02:00:00'/4

我想知道如何得到结果?我试着计算日、时、分、秒,但这太难了,谁能给我一些建议?非常感谢

我不知道是否正确,只需简单使用/就可以了,就像这样

avg_time = total_time / number;
select interval '02:00:00'/4
我得到了正确的答案,所以问题可能很简单

select total_time / number
希望这个例子(基于您的)有帮助:

postgres=# SELECT *, total_time / number AS avg_time 
    FROM (SELECT INTERVAL '00:02:28' AS total_time, 10 AS number) a;
 total_time | number |  avg_time  
------------+--------+------------
 00:02:28   |     10 | 00:00:14.8
(1 row)

您能否更具体地说明这其中哪些部分对您不起作用?

您也可以使用
avg
操作符:
按名称从表组中选择名称、平均值(总时间)

下面的代码使用了纪元时间,工作非常完美(18000是纪元的开始)


否:函数avg(不带时区的时间戳)不存在这是一个很好的答案,但用于另一个问题。这根本不能回答OP的问题。