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

标签 sql ruby-on-rails postgresql datetime

每条记录都有一个started_atcompleted_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 函数中的部分更改为您需要的任何部分(小时、秒、毫秒等)。

关于sql - 计算所有记录中两个日期时间之间的平均时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8838678/

相关文章:

php - 要从查询列表中删除的 Mysql 连接类型

sql - 在单个查询中区分大小写、选择和更新

sql - BigQuery 模运算符 (%) 在 WHERE 子句中不起作用

ruby-on-rails - 在抓取中,无法使用 Mechanize 登录

.net - SQL Express 客户端内存使用量与 SQL Enterprise 客户端内存使用量不同

ruby-on-rails - Rails - 如何运行 cmd 行脚本并实时显示输出?

javascript - 将 Ruby 代码添加到 JavaScript 代码中

c# - 如果字段包含 null,则整个连接结果为 null

sql - 奇怪的 postgres SELECT 排序问题

php - 在 MAMP 中使用 Laravel 设置 PostgreSQL