2017-09-29 41 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!我期待彙總每個球員的總數。我不知道如何在同一時間遍歷多個數組。 –

相關問題