Как я могу разделить сумму для двух столбца для определенного условия в рельсах - PullRequest
0 голосов
/ 06 июня 2019

Я хочу создать систему результатов.Как я могу рассчитать этот cgpa для семестра.

Я пытаюсь показать cgpa только те из которых семестр ищется вместе с подробностями предмета.

Расчет для этого cgpa: Sum(credit*gpa)/Sum(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: ВЫБЕРИТЕ сумму (subjects.cXgpa) / сумму (кредит) ОТ "субъектов"

1 Ответ

0 голосов
/ 06 июня 2019

Это должно работать

Subject.where(semester_id: params[:semester]).pluck("sum(cxgpa) / sum(credit)")

Мы должны написать хеш как { key: value } вместо использования =>, и вам не нужно указывать subjects в предложении sum, потому что вы работаете только с 1 таблицей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...