rails(2.3.5)给定用户的最新记录

时间:2012-01-25 23:37:13

标签: ruby-on-rails

我有一个名为UserScore的rails模型,它有user_id和computed_date。

它有像

这样的记录
 user_id    computed_date
  1           2012-01-11
  1           2012-01-10
  2           2012-01-04
  3           2012-01-06
  1           2012-01-13

我想要表格中所有用户的最新(单个)分数。得分的日期并不完全相同,所以有些用户可能没有得分数周,其他人昨天得分......

我知道我可以把它们全部搞定并循环播放,但是这个表有20万条记录,正在寻找一种方法来利用sql finder来缩小它。

感谢 乔尔

1 个答案:

答案 0 :(得分:1)

我没有使用rails 2.3进行测试,但以下情况应该有效。

UserScore.find(:all, :select => "DISTINCT user_id, *", :order => "computed_date desc")