[英]Group by multiple columns and count results
如何對多列進行分組,並以ActiveRecord(Rails 3)和MySql的形式返回總體結果? 我嘗試過
MyModel.count(group: [:col1, :col2])
但這會返回一個很大的哈希值(表中大約有75.000條記錄),我只需要此查詢返回的總行數即可。
我可以做
MyModel.count(group: [:col1, :col2]).count # => 5266
但這會將所有內容加載到Rails中,速度變慢。
你有沒有嘗試過
MyModel.group(:col1).group(:col2).count
我注意到這不適用於關聯字段,但可以很好地用於其id列。
您可以像這樣對每個字段使用不同的計數。
MyModel.pluck('COUNT(DISTINCT col1) as col1, COUNT(DISTINCT col2) as col2')
你會收到這樣的結果
[[13273, 0]]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.