计算所有记录中两个日期时间之间的平均时间?

3
每条记录都有一个“started_at”和“completed_at”日期时间字段。计算某人开始和完成所需的时间显然很容易。
但是我需要做的是计算所有记录从开始到完成的平均时间。
最终想要能够说:“平均而言,开始和完成需要 X 时间。”
我正在运行Rails 3.0.6,以防有一些已经内置的功能。
此外,这是一个Postgresql数据库,但理想情况下,这应该适用于其他数据库。
1个回答

3

一个纯SQL的解决方案是:

SELECT AVG(TotTime)
FROM (SELECT DateDiff(minute, started_at, completed_at) as 'TotTime'
      FROM MyTable
      WHERE <stuff>) as SubQuery

您可以更改 DateDiff 函数中的部分内容,以满足您的需要(小时、秒、毫秒等)。

1
TotTime 是你在花园里小跑步的时间吗? :) - MatBailie
DateDiff是通用的SQL函数,还是应该与PostgreSQL一起正常工作? - Shpigford
1
DATEDIFF是SQL Server函数。你真的应该指定你正在使用的RDBMS。 - JNK
是的,那是我的错。我刚刚更新了我的帖子。对此很抱歉。 - Shpigford
看起来在PostGres中,您可以减去两个日期并获得一个“INTERVAL”数据类型,然后根据需要进行转换。 - JNK

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接