gpt4 book ai didi

ruby-on-rails - maximum in group by 事件记录查询

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

我有一个具有两个属性的模型(我只显示两个,因为只需要这两列)

我的模型


place_id ---------------------- user_id

1 -------------------------------- 1

1 ------------------------------ 2

1 ------------------------------ 2

3 ---------------------------------- 3

3 ------------------------------ 2

3 ---------------------------------- 3

3 ------------------------------ 1

我想按最大记录获取分组。基本上我想获取用户拥有最大记录的特定位置,例如 place_id 1 用户 2 具有最大结果,位置 3 用户 3 具有最大结果。

最佳答案

如果您首先指定一个地点,您可以这样做:

MyModel.where("place_id=?",place_id).
group("place_id,user_id").order("count(user_id) DESC").first

如果您想一次获得所有最大值,则删除 where 子句并遍历您的结果集,只获取每个不同 place_id 的第一条记录。或者,您可以在上面的语句中添加一个 distinct。是这样的吗?

MyModel.select("DISTINCT(place_id)").
merge(MyModel.group("place_id,user_id").order("count(user_id) DESC"))

祝你好运!

关于ruby-on-rails - maximum in group by 事件记录查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6468316/

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