寻找工程师人数最多的国家
工程师们有一个参考表国家的country_id,我通过猜测和检查找到了答案,但是我很想知道如何让返回一个工程师人数最多的国家,我已经找了将近24小时了…请帮帮忙
country = Country.find(34);
country.engineers.count;
=> 9.到目前为止,这就是我所得到的
发布于 2018-11-20 17:58:53
我相信sql上会出现这样的情况:
SELECT countries.*, COUNT(*) AS engineersCount FROM countries
INNER JOIN engineers ON engineers.country_id = countries.id
GROUP BY countries.id
ORDER BY engineersCount DESC
LIMIT 1使用AR的适应性略有改变:
Country.joins(:engineers).group('countries.id').order('COUNT(*) DESC').limit(1)参考文献:
How to find the highest number of times a value is in records?
https://stackoverflow.com/questions/53398404
复制相似问题