我正在寻找数据库中多列值的总和。这是一款梦幻篮球应用程序,提供梦幻联盟中所有球员的统计分析。我正在尝试将数据库中每条记录的 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/