나는 데이터베이스 작업을 위해 ruby mysql2 gem을 사용하고있다. 지역별 모든 국가를 하나의 표에 나열한 다음 지역 당 히트 수를 합산하려고합니다.루비와 함께 여러 배열에 숫자 추가하기
일반적으로 나는 mysql SUM
함수를 사용할 것이지만 보석은 헤더를 반환하므로 불가능합니다.
대신 지역 당 각 국가별로 조회수가 증가하고 있습니다. 보석은 결과마다 1 개의 배열을 반환하므로 결과를 가져 와서 영역 당 누적 합계에 추가해야합니다.
이 내 코드입니다 :
#!/usr/bin/ruby -w
# simple.rb - simple MySQL script using Ruby MySQL module
require "rubygems"
require "mysql2"
client = Mysql2::Client.new(:host => "localhost", :username => "root", :database => "cbscdn")
regions = client.query("select Id from Regions")
regions.each(:as => :array) do |rid|
hit = client.query("select hits from Countries where Regions_Id='#{rid}'")
hit.each(:as => :array) do |a|
a.map do |x|
x.to_i
end
end
end
이 어떻게 지역 당 실행 수를 구현할 수있다?
각 배열을 픽스 넘으로 바꾸고 새 배열에 추가 한 다음 배열의 모든 값을 추가하여 결과를 가져와야했습니다. – jhgfds