Пример у меня есть:Рельсы, как суммировать столбцы?
@test = Pakke.find([[4], [5]])
В моей Pakke таблице у меня есть столбец с именем prismd
Как суммировать два значения для prismd
столбцов для @test?
Пример у меня есть:Рельсы, как суммировать столбцы?
@test = Pakke.find([[4], [5]])
В моей Pakke таблице у меня есть столбец с именем prismd
Как суммировать два значения для prismd
столбцов для @test?
Вы можете резюмировать непосредственно в базе данных путем создания соответствующего SQL так:
Pakke.sum(:prismd, :conditions => {:id => [4,5]})
См. ActiveRecord::Calculations для получения дополнительных примеров использования и общей документации.
Pakke.find([[14], [15]]).map(&:prismd).sum
ActiveRecord имеет кучу встроенных методов расчета, в том числе sum
:
@test = Pakke.where(:id => [4, 5]).sum(:prismd)
FYI, ** не ** использовать '.sum (&: prismd)'. Это завершит расчет через Ruby. Выполнение того, что говорит @Jordan, завершит вычисление с помощью SQL и будет ** намного **, ** намного ** быстрее. –
test = Order.where (потенциал_student_id: потенциал_student.id) .sum ("total_price");
Можете ли вы объяснить немного больше? –
Pakke.where (id: [4,5]). Sum ("prismd") – KevinLi
Вы должны обязательно внести некоторый заказ в свои массивы. Это очень запутывает то, что вы на самом деле пытаетесь сделать, и просто пытаетесь, пока оно, похоже, не работает, - это не лучший способ сделать это. Вместо этого попробуйте подумать о том, чего вы действительно хотите достичь, и упорядочить свою структуру данных соответственно. Кроме того, разделение вашей реальной проблемы на 5 или более вопросов здесь не поможет ... –
Я попробую. Это немного сложная задача, которую я пытаюсь сделать. Просто знаю, что я в основном хочу, чтобы он работал, потому что он нашел много времени, чтобы найти правильное решение. –