У меня есть таблица с оценками и временем для каждого пользователя. Я хочу рассчитать оба средних, сгруппированных по пользователю. Я могу успешно рассчитать один из них, но не уверен, как сделать оба сразу.
@scores = SpellingScore.where(:user_id => users).average(:score, :group => :user)
Будет производить sql следующим образом
SELECT AVG(`spelling_scores`.`score`) AS average_score, user_id AS user_id
FROM `spelling_scores`
WHERE (`spelling_scores`.`user_id` IN (78767, 78772, 78775)) GROUP BY user_id
Я знаю, как это сделать в SQL, но не могу работать с ActiveRecord.
Это то, что я хочу сделать ...
SELECT AVG(`spelling_scores`.`score`) AS average_score, AVG(`spelling_scores`.`time`) AS average_time, user_id AS user_id
FROM `spelling_scores`
WHERE (`spelling_scores`.`user_id` IN (78767, 78772, 78775)) GROUP BY user_id
Приветствия
Тим