0
如何將這個SQL轉換成Ruby/Rails?如何在Rails中按數量進行分組和排序?
select tag, count(*) c from tags group by tag order by c desc;
我發現我可以這樣做:
Post.select(:user_id).group(:user_id).count
Post.count(group: :user_id)
Post.all(group: :user_id, select: "user_id, count(*) as count")
Post.find(:all, select: "user_id, count(*) as count", group: :user_id)
#1回哈希值。 #2,#3和#4給出了棄用警告。 (我使用的職位,因爲我沒有爲標籤任何數據。)
我不得不調整它:'標籤。 select(「tag,count(*)as total_count」)。group(「tag」)。order(「total_count」)。reverse_order' – Chloe
它適合你嗎? –
'reverse_order'不接受參數。我以:self.tags.select(:tag,「count(*)as count」)結束:group(:tag).order(count::desc).map {| t | t.tag} .join('')'。謝謝! – Chloe