如何按多列分组,并使用ActiveRecord(Rails 3)和MySql将整体结果作为计数返回?我用
试了一下MyModel.count(group: [:col1, :col2])
但是这会返回一个大哈希(表中有大约75.000条记录),我只需要查询返回的总行数。
我能做到
MyModel.count(group: [:col1, :col2]).count # => 5266
但这会将所有内容加载到Rails中,这会变慢。
答案 0 :(得分:0)
你试过吗
MyModel.group(:col1).group(:col2).count
我注意到这对于关联字段不起作用,但对于其id列工作正常。
答案 1 :(得分:0)
您可以像这样使用每个字段的不同计数。
MyModel.pluck('COUNT(DISTINCT col1) as col1, COUNT(DISTINCT col2) as col2')
你收到这样的结果
[[13273, 0]]