gpt4 book ai didi

ruby-on-rails - 事件记录/rails : most efficient way to count results of multiple queries

转载 作者:太空宇宙 更新时间:2023-11-03 17:34:24 25 4
gpt4 key购买 nike

我是 ActiveRecord 的新手。我正在尝试优化数据库查询。

我有一个包含 gender 列的 Person 模型。一个人的gender 可以是以下三个值之一:malefemaletransgendered。我想知道每个性别的人数。

我目前正在使用三个单独的数据库查询来执行此操作。

numMale = Person.where(:gender => :male).count
numFemale = Person.where(:gender => :female).count
numTrans = Person.where(:gender => :transgendered).count

这些可以提高效率吗?有没有办法将它们组合成一个数据库调用?

最佳答案

看看ActiveRecord::Calculations#count .语法取决于您的 Rails on Rails 版本。

# Rails 3.2
Person.count(:group => :gender)

# Rails 4+
Person.group(:gender).count

count 返回一个 Hash,如 { 'male' => 12, 'female' ... }

关于ruby-on-rails - 事件记录/rails : most efficient way to count results of multiple queries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21868869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com