这个查询

Message.where("message_type = ?", "incoming").group("sender_number").count

我将返回一个散列。

OrderedHash {"1234"=>21, "2345"=>11, "3456"=>63, "4568"=>100}

现在我想按每组的数量排序。

答案

最简单的方法是在原始查询中添加一个 order 子句。

Message.where('message_type = ?','incoming')
       .group('sender_number')
       .order('count_id asc').count('id')

来自: stackoverflow.com