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)の配列を、それらが表示された回数で並べ替えるには、どのような方法がありますか?