我想创建一个结果系统。 如何计算一个Semster的Cgpa。
我正在尝试仅显示已搜索其学期的cgpa及其主题详细信息。
该cgpa的计算结果为:Sum(credit*gpa)/Sum(credit)
。
我已将credit * gpa保存在主题表的列中。
我可以使用
找到正常的cgpa<small class="text-warning">cgpa = <%= Subject.sum(:cXgpa)/ Subject.sum(:credit) %></small>** But I need to find it for semester searched
表是
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行:从“主题”中选择sum(subjects.cXgpa)/ sum(贷方)
答案 0 :(得分:0)
这应该有效
Subject.where(semester_id: params[:semester]).pluck("sum(cxgpa) / sum(credit)")
我们应该将哈希写为{ key: value }
而不是使用=>
,并且您在subjects
子句中不必使用sum
,因为您只需要处理一张表