gpt4 book ai didi

ruby-on-rails - 高级 activerecord 查询,其中关联有限制

转载 作者:行者123 更新时间:2023-12-04 04:59:04 25 4
gpt4 key购买 nike

我正在尝试使用 activerecord 进行更高级的查询,但无法找出编写它的最佳方法。希望这是有道理的......

我的 POSTGRES/rails 应用程序有模型:

Company has_many :employees
Employee has_many :evaluations

评估有小数列:分数。我想按名称获得公司的 10 个最低评估分数。但我也只想从每个员工那里获得一个最低分。我不希望结果列表中的 10 个分数中有 5 个都来自同一个员工 ID。

我有:
@list = Company.where(:name => 'Google').joins(:evaluations)

但我正在努力解决如何将评估限制为单个员工.id 上的单个低值

做到这一点的最佳方法是什么?

最佳答案

这是“我的头顶”猜测:

Employee.
select('employees.*, min(evaluations.score) as lowest_score').
joins(:company, :evaluations).
where(:company => {:name => 'Google'}).
group('employees.id').
order('lowest_score').
limit(10)

关于ruby-on-rails - 高级 activerecord 查询,其中关联有限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16364641/

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