gpt4 book ai didi

ruby-on-rails - 使用 Activerecord 对多列求和

转载 作者:行者123 更新时间:2023-12-03 22:49:46 26 4
gpt4 key购买 nike

我是 Activerecord 的新手。我想对模型学生的多个列进行求和。我的模范学生如下:

 class Student < ActiveRecord::Base
attr_accessible :class, :roll_num, :total_mark, :marks_obtained, :section
end

我想要这样的东西:
 total_marks, total_marks_obtained = Student.where(:id=>student_id).sum(:total_mark, :marks_obtained)

但它给出了以下错误。
NoMethodError: undefined method `except' for :marks_obtained:Symbol

所以我问我是否必须为上述查询模型两次,即一次查找总分,另一次查找获得的分数。

最佳答案

您可以使用pluck直接求和:

Student.where(id: student_id).pluck('SUM(total_mark)', 'SUM(marks_obtained)')
# SELECT SUM(total_mark), SUM(marks_obtained) FROM students WHERE id = ?

您可以将所需的列或计算字段添加到 pluck方法,它将返回一个包含值的数组。

关于ruby-on-rails - 使用 Activerecord 对多列求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21916047/

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