如何在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的问题。