我有一张名为Sales的表。我有一个名为plate_number的字段,对应一辆车。
如何在db中找到每辆车的实例总数。
E.g [ [plate_number1, 10 times found], [plate_number2, 5 times found] ]
我尝试使用
Sale.map(&:plate_number).count
和
Sale.pluck(:plate_number)
但这些只是对该列进行简单计算
任何帮助表示赞赏
答案 0 :(得分:3)
您需要将count
与group
一起使用,如:
Sale.group(:plate_number).count
这将返回每个plate_number
的哈希值和出现次数。
# => { 'plate1' => 5, 'plate2' => 2 }
答案 1 :(得分:0)
这是我发现感兴趣的任何人的第二个解决方案
Sale.all.group_by { |ss| ss["plate_number"] }.map { |k,v| [k, v.length] }