如何在rails中查找每个单独记录的多列总和?
问题描述:
我正在寻找我的数据库中多列值的总和。这是一个幻想篮球应用程序,提供幻想联盟所有玩家的统计分析。我正在试图为数据库中的每条记录添加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专家。
答
我不太明白你的问题。但我认为这是你想要实现的东西:
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
希望帮助
谢谢您的答复@pauloancheta!我期待汇总每个球员的总数。我不知道如何在同一时间遍历多个数组。 –