gpt4 book ai didi

mysql - Rails中如何获得两个日期时间列相减的平均值

转载 作者:行者123 更新时间:2023-11-29 06:40:46 25 4
gpt4 key购买 nike

我需要获取updated_at -created_at日期时间列的平均值

我尝试了这种方式,但它没有按我的预期工作:

User.average('updated_at - created_at')

它给出了这个sql查询:

SELECT AVG(updated_at-created_at) FROM `users`

当我通过一个 ID 过滤获取一个对象时,它显示的结果与 user.updated_at - user.created_at 不同。这就是为什么我认为我的 sql 查询不正确。

User.where(id: 3).average('updated_at - created_at').to_f => 29183.0

user = User.find(3) # (created_at: "2018-07-25 09:58:56", updated_at: "2018-07-25 12:50:39")
user.updated_at - user.created_at => 10303.0

最佳答案

最后我使用 TIME_TO_SEC 找到了自己的答案和 TIMEDIFF平均内:

User.where(id: 3)
.average('TIME_TO_SEC(TIMEDIFF(updated_at, created_at))')
.to_f
=> 10303.0

关于mysql - Rails中如何获得两个日期时间列相减的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51703105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com