【发布时间】:2019-12-06 19:51:54
【问题描述】:
我有一个 company_id 数组
在User模型中,我想find_by company_ids,但是对于每个company_id,返回的用户列表不能超过5个用户。我该怎么做。
我试过这样做
User.where(company_id: [1, 2, 3]).group('users.company_id').having('count(company_id) <= 5')
但这只会返回公司用户不超过5人的集合。而且,这不会返回所有记录。
我想要做的是,对于company_ids = [1, 2, 3],该集合应该能够为 company_id 1、company_id 2、company_id 3 返回最多 5 个用户,而不是为所有这些 company_id 加载所有用户。
【问题讨论】:
-
你用的是什么关系型数据库?
-
我正在使用 MySql。
-
什么版本@arjun?
-
@SebastianPalma MySql 版本是 5.7.28,Rails 版本是 5.2.4
标签: sql ruby-on-rails activerecord ruby-on-rails-5