gpt4 book ai didi

mysql - 如何计算rails 3中has_many关联之间平均值的较大值

转载 作者:行者123 更新时间:2023-11-30 00:36:37 25 4
gpt4 key购买 nike

我是 Rails 新手,

我有一个配置文件表和配置文件历史记录表。配置文件有许多配置文件历史。剖面表有id 和 current_count 列,个人资料历史记录具有 profile_id 和 count

我想计算 current_count 大于各个个人资料历史记录计数值平均值的所有个人资料

如何在 Rails 3 中实现这一点。

最佳答案

适当的sql查询是

SELECT p.id, MIN(current_count), AVG(ph.count)  
FROM profiles p
INNER JOIN profile_histories ph on p.id=ph.profile_id
GROUP BY ph.profile_id, p.id
HAVING MIN(current_count) > AVG(ph.count)

让我们构建 Rails 方式:

Profile.joins(:profile_histories)
.select('profiles.id, MIN(profiles.current_count), AVG(profile_histories.count)')
.group('profile_histories.profile_id, profiles.id')
.having('MIN(profiles.current_count) > AVG(profile_histories.count)')

关于mysql - 如何计算rails 3中has_many关联之间平均值的较大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22117917/

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