Model.find_by_tag_name("#foo")
次の配列を返します。
- 25レコード
tag_name = "#foo"
- 40レコード
tag_name = "#foobar"
- 15レコード
tag_name = "#foobarbaz"
それぞれの一意tag_name
が表示された回数をカウントし、そのカウントで結果を並べ替えてから、重複を排除したいと思います。結果の順序は次のようになります。
- #foobar
- #foo
- #foobarbaz
現在、ユニーク数とカウントを取得するために、次のようなことを行っています。
counter = Hash.new(0)
uniques = results.each{|tag| counter[tag.tag_name] += 1 }.uniq{|tag| tag.tag_name }
上記はになりcounter => {"#foo"=>25, "#foobar"=>40, "#foobarbaz"=>15}
ます。
結果を取得し、重複排除し、カウントした後、結果として得られた一意のタグ(uniques
)の配列を、それらが表示された回数で並べ替えるには、どのような方法がありますか?