`

Rails 对多个字段分组

阅读更多
Active Record 的功能性查询例如:Model.count Model.avg都不支持多个字段的分组操作。

实际上使用all和map和though会比较容易实现同样效果如下:

Item.all(
  :select => 'COUNT(*) AS count, age, gender',
  :group => 'age, gender'
).map {|i| [i.age, i.gender, i.count.to_i] }
分享到:
评论

相关推荐

    Ruby on Rails 指南 v5.0.1 中文版

    - **创建复杂表单**:介绍如何构建包含多个嵌套字段的复杂表单。 #### ActionController概览 - **控制器的作用**:解释控制器在MVC架构中的角色。 - **控制器命名约定**:说明控制器命名的规则和约定。 - **方法和...

    Complex Rails system_Rails_优化_

    总结,优化Rails系统需要全面考虑数据库、缓存、代码、服务器配置等多个层面。理解系统的工作原理,针对性地进行优化,是提升复杂Rails系统性能的关键。在实践过程中,持续监控、分析和调整,才能确保应用始终处于...

    Apress Pro ActiveRecord Databases with Ruby and Rails.pdf

    - **多数据库支持**:Rails支持同时连接到多个数据库,这对于大型应用非常有用。 - **自定义查询**:虽然ActiveRecord提供了强大的查询功能,但在某些情况下可能需要编写原生SQL查询。 - **性能调优**:随着应用规模...

    Ruby-ImpressionistRails插件跟踪页面展示和浏览量

    对于防止重复计数,比如同一个用户多次访问同一页面,可以通过设置`unique`选项来限制每个IP或用户只记录一次印象。 在分析数据时,可以利用Impressionist提供的查询方法,例如`most_impressioned`来获取最常被访问...

    lottery-backend

    在实际开发中,我们可能需要处理复杂的业务逻辑,如过滤、排序、分组、聚合等,这就需要结合Rails的强大后端能力,编写更复杂的控制器和模型代码。此外,还可以利用DataTables的API实现更多高级功能,如行编辑、列...

    derby-orm:德比ORM

    2. **关联(Association)**:定义模型之间的关系,如一对一、一对多、多对多等。 3. **查询(Querying)**:提供链式API来筛选、排序和分组数据。 4. **事务(Transactions)**:确保数据操作的一致性和原子性,...

    trello:trello克隆

    总之,创建一个Trello克隆是一个全面的软件开发项目,涵盖了从前端设计到后端架构的多个领域。这不仅需要扎实的编程技能,还要求对项目管理流程有深入理解,以便提供符合用户需求的功能和体验。

Global site tag (gtag.js) - Google Analytics