gpt4 book ai didi

mysql - 表连接 Ruby on Rails

转载 作者:行者123 更新时间:2023-11-30 23:31:25 24 4
gpt4 key购买 nike

如果我像这样设置两个单独的表:

University 1:

student major year gpa


University 2:

student major address gpa hometown extra curriculars

有没有办法让我按照该专业的最高 gpa 对专业进行排序?抱歉,这可能是一个简单的问题,不过我对 Ruby on Rails 还很陌生。谢谢!

最佳答案

如果你想在两所大学的专业中获得最高的 GPA,SQL 如下所示,例如:

SELECT major, MAX(GPA) AS GPA FROM
(SELECT major, MAX(GPA) AS GPA FROM UNIVERSITY_1
GROUP BY major
UNION
SELECT major, MAX(GPA) AS GPA FROM UNIVERSITY_2
GROUP BY major)
GROUP BY major
ORDER BY GPA DESC

我不确定如何在 Arel 中表达该查询 - 不确定它是如何进行联合的,知道这一点会很好。同时,您始终可以使用 find_by_sql 从原始 SQL 获取结果集。

编辑:

一种有点像 Ruby-er/Railsier 的方法可能是:

u_one = UniversityOne.maximum :gpa, :group => 'major'
u_two = UniversityTwo.maximum :gpa, :group => 'major'
u_combined = u_one.merge(u_two) { |k, one, two| [one,two].max }

u_combined 最终成为以专业为键、跨大学最高 gpa 为值的散列。

关于mysql - 表连接 Ruby on Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10409025/

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