gpt4 book ai didi

ruby-on-rails - 你如何在 rails 中找到每个用户的最新行?

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

为每个 user_id 查询最新的类(class)计划记录的 Rails 方法是什么?

class LessonPlan < ActiveRecord::Base
belongs_to :user
end

我见过的所有帖子都包含连接或子查询。没有简单的方法可以做到这一点吗?

我试过了
LessonPlan.select(['distinct(user_id)', :id, :created_at]).where(:user_id => users).order('created_at DESC') 

这会产生一个查询。
SELECT distinct(user_id), id, created_at FROM `lesson_plans` WHERE `lesson_plans`.`user_id` IN (110031, 110032, 110033, 110034) ORDER BY created_at DESC

但是当我尝试这个查询时,它返回具有重复 user_id 的行。

对不起,如果这是一个重复的问题,我真的四处寻找解决方案。

最佳答案

Rails#ActiveRecord:

LessonPlan.select([:user_id, :id, 'MAX(created_at)']).group(:user_id).limit(10)

数据库:
select id, user_id, MAX(created_at) from lesson_plans group by user_id limit 10

关于ruby-on-rails - 你如何在 rails 中找到每个用户的最新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10003528/

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