0

我遇到了一个小问题,我现在无法解决 ^_^ 并希望看到您的建议。问题只是关于从 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
4

2 回答 2

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)
于 2012-06-21T05:20:53.147 回答
1

像这样的东西?

YourModel.order("updated_at desc").limit(3)
于 2012-06-20T09:18:32.297 回答