我希望在数据库中找到多个列的值的总和。这是针对一个幻想篮球应用程序,可对幻想联盟中的所有球员进行统计分析。我正在尝试为DB中的每个记录添加7列。我不确定使用ActivereCord查询方法还是使用实际的SQL查询是更好的。这是我试图在季节玩家模型中使用的方法:
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 db中使用此查询,我可以找到总数没有任何问题:
select id,( free_throw_value + three_pointer_value + rebounds_value + assists_value + steals_value + blocks_value + points_value ) AS value_total FROM season_players
我不是铁路专家,任何建议都将不胜感激。
我不太了解您的问题。但是我认为这就是您要实施的:
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
希望有帮助