我们有一个Product模型,我们想按他们的分组category。
Product.select(:category).group(:category)
这将查询数据库,如下所示:
SELECT "product"."category" FROM "product" 通过...分组 "product"."category"
确保也选择了分组字段。分组对于计算的出现(在这种情况下)特别有用categories。
Product.select(:category).group(:category).count
如查询所示,它将使用数据库进行计数,这比首先检索所有记录并在代码中进行计数要有效得多:
SELECT COUNT("products"."category") AS count_categories, "products"."category" AS products_category FROM "products" 通过...分组 "products"."category"