ActiveRecord限制的用户从company_id的集合中返回

问题描述 投票:1回答:1

我有一个company_ids数组在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_ids加载所有用户。] >

我有一个company_ids数组在User模型中,我想find_by company_ids,但是对于每个company_id,返回的用户列表不应超过5个用户。我怎样才能做到这一点。我尝试做...

sql ruby-on-rails activerecord ruby-on-rails-5
1个回答
0
投票

由于MySQL版本,我认为您可以进一步使用UNION ALL

© www.soinside.com 2019 - 2024. All rights reserved.