我有这样的表:
name number total_time avg_time
tom 10 00:02:28 ?
kevin 6 09:22:25 ?
total_time是间隔的类型,我可以很容易地改为字符串。 现在,我希望得到像这样的avg_time
avg_time = total_time / number;
我徘徊如何得到结果?我试着计算一天,一小时,一分钟,一秒,但这太难了,谁能给我一些建议呢?非常感谢
答案 0 :(得分:1)
希望这个例子(基于你的例子)很有帮助:
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)
您能否更具体地说明这部分内容对您不起作用?
答案 1 :(得分:0)
我不知道是否正确,只需轻松使用/就可以了,就像这样
select interval '02:00:00'/4
我得到了正确的答案,所以问题可能很简单
select total_time / number
答案 2 :(得分:0)
以下使用纪元时间并且完美无缺(18000是纪元的开始)
{{1}}
答案 3 :(得分:-1)
您也可以使用avg
运算符:
select name, avg(total_time) from table group by name;