Я работаю со статистикой игроков и получил эти данные.
Stat model = id: integer, pts: float, user_id: integer, created_at: datetime, updated_at: datetime
Так что есть вероятность, что user_id
имеет 2 или более данных.
{id: 1, pts: 2, user_id: 1, created_at: datetime, updated_at: datetime}
{id: 2, pts: 8, user_id: 1, created_at: datetime, updated_at: datetime}
{id: 3, pts: 10, user_id: 2, created_at: datetime, updated_at: datetime}
Мне нужно получить среднее количество очков на user_id, а затем упорядочить по пунктам.Чтобы получить лучший результат.
РЕДАКТИРОВАТЬ Я исправил это с помощью:
stat = Stat.group(:user_id).sum("pts")
new_value = Hash[*stat.sort_by { |k,v| -v }[0..9].flatten] # To get top 1 to 10
Спасибо!