3
每个记录都有一个started_at
和completed_at
日期时间字段。计算某人开始和完成的时间显然很容易。计算所有记录中两个日期时间之间的平均时间?
但我需要做的是计算从开始到完成所有记录的平均时间。
最终希望能够说“平均需要X个时间才能开始和完成”。
我正在运行Rails 3.0.6,以防一些已经内置的功能。
此外,它是一个Postgresql数据库,但理想情况下,这可以跨越其他数据库。
每个记录都有一个started_at
和completed_at
日期时间字段。计算某人开始和完成的时间显然很容易。计算所有记录中两个日期时间之间的平均时间?
但我需要做的是计算从开始到完成所有记录的平均时间。
最终希望能够说“平均需要X个时间才能开始和完成”。
我正在运行Rails 3.0.6,以防一些已经内置的功能。
此外,它是一个Postgresql数据库,但理想情况下,这可以跨越其他数据库。
一个纯SQL的解决办法是:
SELECT AVG(TotTime)
FROM (SELECT DateDiff(minute, started_at, completed_at) as 'TotTime'
FROM MyTable
WHERE <stuff>) as SubQuery
可以在DateDiff
功能改变的部分是你需要什么(小时,秒,毫秒,等等)。
是*'TotTime' *你在花园里呆了一段时间吗? :) – MatBailie 2012-01-12 16:43:59
DateDiff是一个通用的SQL函数,还是应该可以在PostgreSQL上正常工作? – Shpigford 2012-01-12 18:44:58
'DATEDIFF'是一个SQL Server功能。你真的应该指定你正在使用的RDBMS。 – JNK 2012-01-12 18:48:05