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

时间:2012-01-12 16:37:11

标签: sql ruby-on-rails postgresql datetime

每条记录都有started_atcompleted_at日期时间字段。计算一个人开始和完成的时间显然很容易。

但我需要做的是计算所有记录从开始到完成的平均时间。

最终希望能够说“平均需要X时间才能开始和完成。”

我正在运行Rails 3.0.6,以防已经内置了一些功能。

此外,它是一个Postgresql数据库,但理想情况下,这可以在其他数据库中使用。

1 个答案:

答案 0 :(得分:3)

Pure SQL解决方案将是:

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

您可以将DateDiff功能中的部分更改为您需要的任何部分(小时,秒,毫秒等)。