I이 해시는 다음 배열에 의해 어레이 그룹의 해시와 합 :루비 - 열 이름
[{ "IDX"=> "1234", "계정"=> "ABDE ","money "=>"4.00 ", "order "=>"00001 "}, {"idx "=>"1235 ","account "=>"abde ","money "=>"2.00 " "order"=> "00001"}, { "idx"= "1235", "account"=> "abde", "money"=> "3.00", "order"=> "00002"}]
SQL의 경우와 마찬가지로 해시 배열을 순서 번호로 그룹화하여 order 00001이 gr 인 경우 결과를 얻고 싶습니다. ouped하고 6.00 돈 합계 :
[{ "IDX"=> "1234", "계정"=> "ABDE", "돈"=> "6.00" '주문'=> "00001"}, { "IDX"=> "1234", "계정"=> "ABDE", "돈"=> "3.00" "순서"=> "00002"}]
감사. 해시의 예하면 배열이 반환에
def group_hashes arr, group_field, sum_field
arr.inject({}) do |res, h|
(res[h[group_field]] ||= {}).merge!(h) do |key, oldval, newval|
key.eql?(sum_field) ? (oldval.to_f + newval.to_f).to_s : oldval
end
res
end.values
end
전화 group_hashes arr, "order", "money"
:
신난다! 고맙습니다. – oprogfrogo