mysql - 如何查找 Rails 中每个单独记录的多列总和?

标签 mysql ruby-on-rails activerecord

我正在寻找数据库中多列值的总和。这是一款梦幻篮球应用程序,提供梦幻联盟中所有球员的统计分析。我正在尝试将数据库中每条记录的 7 列加在一起。我不确定使用 ActiveRecord 查询方法还是使用实际的 SQL 查询是否更好。这是我尝试在 SeasonPlayer 模型中使用的方法:

   def self.find_player_value_totals
     player_values = []
     query = <<-SQL
               SELECT id,( free_throw_value + three_pointer_value + 
               rebounds_value + assists_value + steals_value + 
               blocks_value + points_value )
               AS value_total
               FROM season_players
             SQL
     totals = find_by_sql(query)

     totals.each do |total|
       player_values << total.value_total
     end
  end

在我的 MySQL 数据库中使用此查询,我可以毫无问题地找到总数:

select id,( free_throw_value + three_pointer_value + rebounds_value + assists_value + steals_value + blocks_value + points_value ) AS value_total FROM season_players

任何建议将不胜感激,因为我不是 Rails 专家。

最佳答案

我不太明白你的问题。但我认为这就是你想要实现的:

class SeasonPlayers
  # assuming that you only want to aggregate from one player
  def find_player_value_totals
    [free_throw_val, three_pointer_val, rebound_val, assist_val, steals_val, blocks_val, points_val].sum
  end
end

希望有帮助

关于mysql - 如何查找 Rails 中每个单独记录的多列总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46481440/

相关文章:

mysql - 将 CPLEX OPL 模型与 MySQL DB 连接

MySQL查询连接每行中的所有值基于共同的相同ID匹配

mysql - 如何在不断开连接的情况下使用 Node.js 终止 MySQL 查询?

ruby-on-rails - Rails 如何在不锁定的情况下触摸 Active Record 对象?

sql-server - CodeIgniter ActiveRecord 连接语句从 ON 子句中删除 '['

jquery - 如何在Rails中使用下拉菜单和ajax过滤数据

MySQL 在外部服务器上,拒绝有效用户的访问

ruby-on-rails - 尝试加载 gem 'rails-api' 时出错。 ( bundler ::GemRequireError)

ruby-on-rails - Geocoder Gem - Ruby On Rails

ruby-on-rails - ActiveRecord虚拟属性作为记录属性