2017-09-29 40 views
0

我正在寻找我的数据库中多列值的总和。这是一个幻想篮球应用程序,提供幻想联盟所有玩家的统计分析。我正在试图为数据库中的每条记录添加7列。我不确定是使用ActiveRecord查询方法还是使用实际的SQL查询更好。这里是我试图在SeasonPlayer模型中使用的方法:如何在rails中查找每个单独记录的多列总和?

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专家。

回答

0

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

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 

希望帮助

+0

谢谢您的答复@pauloancheta!我期待汇总每个球员的总数。我不知道如何在同一时间遍历多个数组。 –

相关问题