私はruby mysql2 gemを使ってデータベースを操作しています。地域ごとのすべての国を1つのテーブルにリストし、地域ごとのヒット数を追加したいと思います。複数の配列に数値をルビと一緒に追加する
通常、私はmysql SUM
関数を使用しますが、gemはヘッダを返すので、これは不可能です。
代わりに、地域ごとに各国のヒット数を取得して追加しています。 gemは結果ごとに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
どのように私は、地域ごとのランニングカウントを実装することができますか?
それぞれの配列の結果をfixnumに変換して新しい配列に追加し、配列内のすべての値を追加して結果を得る必要がありました。 – jhgfds