Active Record查询最新更新记录

时间:2012-06-20 09:15:57

标签: ruby-on-rails activerecord mysqli

我遇到了一个小问题,现在我无法修复^ _ ^并希望看到你的建议。 问题只是从mysql表中获取最新更新的几条记录。 这是样本数据,但真实数据有数千条记录。

Id  site_id      updated_at               value
1   1            "2012-05-14 09:04:02"    5
2   2            "2012-05-14 09:04:02"    8
3   2            "2012-05-15 09:04:02"    9
4   3            "2012-05-16 09:04:02"    7
5   1            "2012-05-17 09:04:02"    5
6   1            "2012-05-18 09:04:02"    3

我想拥有将返回的XXXX功能

Id  site_id      updated_at               value
6   1            "2012-05-18 09:04:02"    3
4   3            "2012-05-16 09:04:02"    7
3   2            "2012-05-15 09:04:02"    9

2 个答案:

答案 0 :(得分:1)

这样的东西?

YourModel.order("updated_at desc").limit(3)

答案 1 :(得分:1)

假设您的模型被称为Account

Account.joins("LEFT OUTER JOIN accounts a 
    ON a.site_id = accounts.site_id AND a.value > accounts.value").
  where("a.value IS NULL").order("accounts.updated_at DESC").limit(3)