przykład mam:Szyny, jak sumować kolumny?
@test = Pakke.find([[4], [5]])
W moim stole Pakke mam kolumnę o nazwie prismd
Jak mogę podsumować dwie wartości dla prismd
kolumn dla @test?
przykład mam:Szyny, jak sumować kolumny?
@test = Pakke.find([[4], [5]])
W moim stole Pakke mam kolumnę o nazwie prismd
Jak mogę podsumować dwie wartości dla prismd
kolumn dla @test?
można podsumować bezpośrednio w bazie danych poprzez stworzenie odpowiedniego SQL takiego:
Pakke.sum(:prismd, :conditions => {:id => [4,5]})
Więcej przykładów użycia i ogólnej dokumentacji znajduje się w dokumencie ActiveRecord::Calculations.
Pakke.find([[14], [15]]).map(&:prismd).sum
ActiveRecord ma kilka wbudowanych metod obliczeniowych, w tym sum
:
@test = Pakke.where(:id => [4, 5]).sum(:prismd)
FYI, ** nie używaj ** .sum (&: prismd). To zakończy obliczenia przez Ruby. Wykonywanie tego, co mówi @Jordan, zakończy obliczenia za pomocą SQL i jest ** dużo **, ** znacznie ** szybsze. –
test = Order.where (potential_student_id: potential_student.id) .sum ("total_price");
Czy możesz wyjaśnić trochę więcej? –
Pakke.where (id: [4,5]) .sum ("prismd") – KevinLi
Powinieneś z pewnością wprowadzić porządek w swoich tablicach. To bardzo mylące, co faktycznie próbujesz zrobić i po prostu próbować, dopóki nie wydaje się, że działa, nie jest najlepszym sposobem, aby to zrobić. Zamiast tego zastanów się, co tak naprawdę chcesz osiągnąć i odpowiednio uporządkuj strukturę danych. Również podzielenie twojego aktualnego problemu na 5 lub więcej pytań tutaj nie pomoże ... –
Spróbuję. To trochę skomplikowane, co chcę zrobić. Po prostu wiem, że głównie chcę, aby to działało, ponieważ zajęło dużo czasu znalezienie odpowiedniego rozwiązania. –