对于 rails 中的特定条件,我如何划分两列的总和
How can I divide sum for a of two column for a certain condition in rails
我想创建一个结果系统。
我如何计算一个学期的 cgpa。
我试图只显示 cgpa 搜索学期的那些以及主题详细信息。
该 cgpa 的计算结果是:Sum(credit*gpa)/Sum(credit)
。
我已将学分*gpa 保存在主题 table 的列中。
我可以使用
找到正常的 cgpa
<small class="text-warning">cgpa = <%= Subject.sum(:cXgpa)/ Subject.sum(:credit) %></small>** But I need to find it for semester searched
table 是
t.string "subject_name"
t.string "subject_code"
t.float "credit"
t.float "gpa"
t.float "cXgpa"
t.integer "semester_id"
我用这个找到了
<small class="text-warning">cgpa = <%= Subject.pluck('sum(subjects.cXgpa) / sum(credit)').where(:semester_id=>params[:semester]) %></small>
但是出现这个错误
PG::UndefinedColumn: ERROR: column subjects.cxgpa does not exist
第 1 行:SELECT sum(subjects.cXgpa) / sum(credit) FROM "subjects"
这应该有效
Subject.where(semester_id: params[:semester]).pluck("sum(cxgpa) / sum(credit)")
我们应该将散列写为 { key: value }
而不是使用 =>
并且您不需要在 sum
子句中包含 subjects
因为您只需要处理1 table
我想创建一个结果系统。 我如何计算一个学期的 cgpa。
我试图只显示 cgpa 搜索学期的那些以及主题详细信息。
该 cgpa 的计算结果是:Sum(credit*gpa)/Sum(credit)
。
我已将学分*gpa 保存在主题 table 的列中。
我可以使用
找到正常的 cgpa<small class="text-warning">cgpa = <%= Subject.sum(:cXgpa)/ Subject.sum(:credit) %></small>** But I need to find it for semester searched
table 是
t.string "subject_name"
t.string "subject_code"
t.float "credit"
t.float "gpa"
t.float "cXgpa"
t.integer "semester_id"
我用这个找到了
<small class="text-warning">cgpa = <%= Subject.pluck('sum(subjects.cXgpa) / sum(credit)').where(:semester_id=>params[:semester]) %></small>
但是出现这个错误
PG::UndefinedColumn: ERROR: column subjects.cxgpa does not exist
第 1 行:SELECT sum(subjects.cXgpa) / sum(credit) FROM "subjects"
这应该有效
Subject.where(semester_id: params[:semester]).pluck("sum(cxgpa) / sum(credit)")
我们应该将散列写为 { key: value }
而不是使用 =>
并且您不需要在 sum
子句中包含 subjects
因为您只需要处理1 table