0

私はこの機能を持っています

@users_age = User.group("date_trunc('year', age(dob))").count

次のようなエントリのハッシュを返します。

{
   "00:00:00" => 3,
   "1 year" => 5,
   "2 years" => 8,
   ...
}

(これらは、それらの年のユーザー数とユーザー数の関係です)データをより改善するために、年を [10 年未満、btn 10-19、btn 20-29、...] のような範囲に並べ替えたいグラフにプロットしたいので。

エントリを並べ替えるにはどうすればよいですか?


アップデート:

以下の例のように、ソートされたエントリがハッシュとして返されるようにします。2 番目は、年齢がその範囲内のユーザーの数です。

{"above 50" => 89, "40-49" => 17, ...,"below 10" => 10}
4

1 に答える 1

1

どうですか:

counts = your_hash.values.inject(Hash.new(0)) do |collection, value|
  collection[value/10] +=1
  collection
end
于 2013-11-07T03:04:50.437 に答える