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