Rails establishing frequencies of uniq values and limiting result
以下
1 | @items.group(:nature_id).count(:nature_id) |
one 获得结果的散列
1 | {4=>1, 8=>1, 14=>2, 27=>1, 32=>1, 33=>1, 36=>1, 41=>2, 44=>1, 63=>1, 64=>4, 69=>1, 130=>7, 131=>3,[...]} |
这个结果如何按计数值按所述值的降序排序
试试下面的:
1 | @items.group(:nature_id).order('COUNT(nature_id) DESC').limit(100).count(:nature_id) |
order('COUNT(nature_id) DESC') - 将按计数排序结果
Also, syntaxically, this non-attribute arguments will be disallowed in Rails
6.0.
根据这篇文章
1 | @items.group(:nature_id).order(Arel.sql('COUNT(nature_id) DESC')).limit(100).count(:nature_id) |